Please see my script, and identify the issue. Trying to Split an array into two arrays by value even or odd without built-in functions in PHP
<?php
$array = array(1,2,3,4,5,6);
$length = count($array);
$even = array();
for($i=0; $i < $length; $i ){
if($array[$i]/2 == 0){
$even[] = $array[$i];
}
else{
$odd[] = $array[$i];
}
}
print_r($even);
echo "<br/>";
print_r($odd);
?>
current output
Array ( )
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 )
CodePudding user response:
Try the modulo % operator when you check for even numbers. It gets the remainder when you divide your value by 2.
if($array[$i] % 2 == 0)
Your current code divides your value by 2 then gets the quotient, that's why it doesn't equate to 0. 2/2 = 1 4/2 = 2 and so on...
Hope this helps.
CodePudding user response:
your error is in if, you want to check if the number is odd or even, you have to use modulus %. So your code becomes like this
<?PHP $array = array(1,2,3,4,5,6);
$length = count($array);
$even = array();
for($i=0; $i < $length; $i ){
if($array[$i]%2 == 0){
$even[] = $array[$i];
}
else{
$odd[] = $array[$i];
}
}
print_r($even);
echo "<br/>";
print_r($odd);
?>
