2017-11-28 30 views
0

このコードを動作させる方法を理解しようとしています。 コードに変数を介したI入力テキストを:文字列内の大文字の文字を確認して変更する

$genome = "ss/ee/ff/Nn/oo"; 
$gepieces = explode("/", $genome); 

$fenome = "ss/Ee/ff/nn/oo"; 
$fepieces = explode("/", $fenome); 

あなたはゲノムのためNnがあることがわかりますとFenomeのために、私はそれが50/50チャンスを与える必要があり、この出来事たらええ があります比較結果がEeまたはNnになるようにする - 私が今持っているコードは個別にしかチェックできない(時々私はEeとNnをゲットし、他の時はeeとnnを得る)、もっと簡単な方法これを達成しようとしているのは、私が試しているよりも:

//Number of Cubs 
$cubs = rand(1,4); 

//GENDER 
for ($x = 0; $x < $cubs; $x++) { 
    $gender = rand(1,2); 
    if ($gender == 1) { 
     $cubgender = "Male"; 
    } elseif ($gender == 2) { 
     $cubgender = "Female"; 
    } 

    //COAT COLOR 
    $genome = "ss/ee/ff/Nn/oo/Pa/Sr/So"; 
    $gepieces = explode("/", $genome); 

    $fenome = "ss/Ee/ff/nn/oo/Pa"; 
    $fepieces = explode("/", $fenome); 

    if ($gepieces[0] === $fepieces[0]) { 
     $ss = $gepieces[0]; 
    } else { 
     $ss = rand(1,2); 
     if ($ss == 1) { 
      $ss = $gepieces[0]; 
     } else { 
      $ss = $fepieces[0]; 
     } 
    } 

    if ($gepieces[1] === $fepieces[1]) { 
     $ee = $gepieces[1]; 
    } else { 
     $ee = rand(1,2); 
     if ($ee == 1) { 
      $ee = $gepieces[1]; 
     } else { 
      $ee = $fepieces[1]; 
     } 
    } 

    if ($gepieces[2] === $fepieces[2]) { 
     $ff = $gepieces[2]; 
    } else { 
     $ff = rand(1,2); 
     if ($ff == 1) { 
      $ff = $gepieces[2]; 
     } else { 
      $ff = $fepieces[2]; 
     } 
    } 

    if ($gepieces[3] === $fepieces[3]) { 
     $nn = $gepieces[3]; 
    } else { 
     $nn = rand(1,2); 
     if ($nn == 1) { 
      $nn = $gepieces[3]; 
     } else { 
      $nn = $fepieces[3]; 
     } 
    } 

    if ($gepieces[4] === $fepieces[4]) { 
     $oo = $gepieces[4]; 
    } else { 
     $oo = rand(1,2); 
     if ($oo == 1) { 
      $oo = $gepieces[4]; 
     } else { 
      $oo = $fepieces[4]; 
     } 
    } 
echo $cubgender." - ".$ss."/".$ee."/".$ff."/".$nn."/".$oo."<br/>"; 

} 
+0

を考え出しました実際には4つの可能なケースです sseeffnnooまたはssEffNnooはどうなりますか? – Jeff

答えて

0

私は巨大なばかだ! は私自身の問題

//Number of Cubs 
$cubs = rand(1,4); 

//GENDER 
for ($x = 0; $x < $cubs; $x++) { 
    $gender = rand(1,2); 
    if ($gender == 1) { 
     $cubgender = "Male"; 
    } elseif ($gender == 2) { 
     $cubgender = "Female"; 
    } 

    //COAT COLOR 
    $genome = "ss/ee/ff/Nn/oo"; 
    $gepieces = explode("/", $genome); 

    $fenome = "ss/Ee/ff/nn/oo"; 
    $fepieces = explode("/", $fenome); 

if ($genome === $fenome) { 
    $cubgeno = $genome; 
} else { 
    $cubgeno = rand(1,2); 
    if ($cubgeno == 1) { 
     $cubgeno = $genome; 
    } else { 
     $cubgeno = $fenome; 
    } 
} 

echo $cubgender." - ".$cubgeno."<br/>"; 
私は、なぜそれを行うことが簡単にはありますが、これは間違って見える
+0

(ループFEで)それをコードする短い方法があるため、defenitelyないと思う – musashii

+0

'if($ genome === $ fenome)'ここには意味がない – musashii

0
$genome = "ss/ee/ff/Nn/oo/Pa/Sr/So"; 
$gepieces = explode("/", $genome); 

$fenome = "ss/Ee/ff/nn/oo/Pa"; 
$fepieces = explode("/", $fenome); 

$sequence = ""; 
for ($i = 0;$i < count($fepieces); $i++) { 
rand(1,2) == 1 ? $sequence .= $gepieces[$i] : $sequence .= $fepieces[$i]; 
} 
echo $sequence; 
関連する問題