Get elements of a 3 by 3 array using foreach

I have an array containing data obtained by splitting a string.

Mike, 20, man, Ann, 28, woman, cartridge, 45, man

$people = explode(',', $result);

how can i assign this data in a 3 by 3 array to 3 different variables using foreach?

    Mike 20 male

    and then 

    Ann 28 female

    then 

    chuck 45 male
+4
source share
3 answers
foreach(array_chunk(explode(',', $result), 3) as $row) {
  list($name, $age, $gender) = $row;
}

in fact, even better:

foreach(array_chunk(explode(',', $result), 3) as list($name, $age, $gender)) {

}
+5
source

this is one of the options

$result = 'Mike,20,male,Ann,28,female,chuck,45,male';
$people = explode( ',', $result );
$final_result = array();
$i = 0;
$n = 0;
foreach ( $people as $keys => $values ) {
    $final_result[$n][] = $values;
    $i++;
    if ( $i%3 === 0 ) {
        $n++;
    }
}
+2
source
$data = array("mike","20","male","Milaf","21","male","Ava","22","female");
$names = array();
for($i=0 ; $i<9 ; $i+=3){
$names[] = $data[$i];
}
foreach($names as $name){
echo $name.'<br>';
}


$ages = array();
for($i=1 ; $i<10 ; $i+=3){
$ages[] = $data[$i];
}
foreach($ages as $age){
echo $age.'<br>';
}

$genders = array();
for($i=2 ; $i<10 ; $i+=3){
$genders[] = $data[$i];
}
foreach($genders as $gender){
echo $gender.'<br>';
 }

$fullName = array();


for($i = 0 ; $i<3 ; $i++){
$fullName[] =$names[$i].$ages[$i].$genders[$i];
echo $fullName[$i]."<br>";
}
0
source

Source: https://habr.com/ru/post/1524906/


All Articles