There is a multidimensional array of the form:

[ 0 => [ 0 => '71' 1 => [ 0 => [ 0 => 'time' 1 => 1522957532 ] 1 => [ 0 => 'user_id' 1 => '111' ] 2 => [ 0 => 'status' 1 => 2 ] ] ] 1 => [ 0 => '57'.. 

Tell me how to put in this form:

 [ 0 => [ 'id' => '71', 'time' => 1522957532, 'user_id' => '111', 'status' => 2 ].. 
  • foreach ($ arr as $ item) {echo 'id ='. $ item [0] [0]. '<br>'; echo $ item [1] [0] [0]. '='. $ item [1] [0] [1]. '<br>'; echo $ item [1] [1] [0]. '='. $ item [1] [1] [1]. '<br>'; echo $ item [1] [2] [0]. '='. $ item [1] [2] [1]. '<br>'; } - Zohid

1 answer 1

Use the functions array_map and array_column

 $result = array_map(function($v){ return [ 'id' => $v[0] ] + array_column($v[1], 1, 0); }, $data);