I want him to randomly pick 5 numbers from the string I entered and check them to see if they’re even or odd This is the code I made but I don’t want 0 included:
JavaScript
x
<?php
$s = array();
$tek =array();
$cift =array();
$tamsayi = array(1,2,3,4,5,6,7,8,9,10);
for( $i=0; $i<5; $i++){
$s [$i]= array_rand($tamsayi);
}
echo "Oluşturulan rastgele dizi : ";
foreach ($s as $el) {
echo $el;
}
for($j = 0; $j<5;$j++){
if($s[$j] % 2 == 0){
$cift[$j]=$s[$j];
}else{
$tek[$j]= $s[$j];
}
}
echo '<br>';
echo "Çift sayılar : ";
echo '<br>';
foreach ($cift as $eli) {
echo $eli;
echo '<br>';
}
echo "Tek sayılar : ";
echo '<br>';
foreach ($tek as $elin) {
echo $elin;
echo '<br>';
}
?>
Advertisement
Answer
Try this:
JavaScript
<?php
$array = [1,2,3,4,5,6,7,8,9,10];
$finalArray = [];
for($i = 0; $i < 5; $i++) {
$key = array_rand($array);
$random = $array[$key];
if($random % 2 == 0){
$finalArray["even"][] = $random;
} else {
$finalArray["odd"][] = $random;
}
}
print("<pre>".print_r($finalArray,true)."</pre>");
?>
Output will look smth like this:
JavaScript
Array
(
[even] => Array
(
[0] => 4
[1] => 4
[2] => 8
)
[odd] => Array
(
[0] => 9
[1] => 3
)
)
And if you want number to appear only once:
JavaScript
<?php
$array = [1,2,3,4,5,6,7,8,9,10];
$finalArray = [];
for($i = 0; $i < 5; $i++) {
$key = array_rand($array);
$random = $array[$key];
unset($array[$key]);
if($random % 2 == 0){
$finalArray["even"][] = $random;
} else {
$finalArray["odd"][] = $random;
}
}
print("<pre>".print_r($finalArray,true)."</pre>");
?>
Which will print allways unique values, like: Array
JavaScript
(
[odd] => Array
(
[0] => 3
[1] => 5
[2] => 7
)
[even] => Array
(
[0] => 4
[1] => 10
)
)