The source data is as follows.
Array( [id] => 1 [level] => CEO [children] => Array ( [id] => 2 [level] => CTO [children] => Array ( [id] => 3 [level] => CFO ) ))
How do you recursively return to the following format? Thank you very much.
Array( [0] => Array ( [id] => 1 [level] => CEO ) [1] => Array ( [id] => 2 [level] => CTO ) [2] => Array ( [id] => 3 [level] => CFO ))
Reply content:
The source data is as follows.
Array( [id] => 1 [level] => CEO [children] => Array ( [id] => 2 [level] => CTO [children] => Array ( [id] => 3 [level] => CFO ) ))
How do you recursively return to the following format? Thank you very much.
Array( [0] => Array ( [id] => 1 [level] => CEO ) [1] => Array ( [id] => 2 [level] => CTO ) [2] => Array ( [id] => 3 [level] => CFO ))
1, 'level' => 'CEO', 'children' => Array ( 'id' => 2, 'level' => 'CTO', 'children' => Array ( 'id' => 3, 'level' => 'CFO' ) ) ); $new_arr = array(); $i = 0; function recur($arr,&$new_arr,$i){ $new_arr[$i]['id'] = $arr['id']; $new_arr[$i]['level'] = $arr['level']; if(isset($arr['children'])){ $i++; $arr = $arr['children']; recur($arr,$new_arr,$i); } } recur($arr,$new_arr,$i); print_r($new_arr);