Good mood to you all. Help the unfortunate to group such an array.

array(9) { [0]=> array(1) { ["level_1"]=> array(28) { [0]=> string(1) "8" ["id"]=> string(1) "8" [1]=> string(6) "Vka124" ["login"]=> string(6) "Vka124" [2]=> string(6) "Vka124" ["password"]=> string(6) "Vka124" [3]=> string(15) "Vka124@gmail.ru" ["email"]=> string(15) "Vka124@gmail.ru" [4]=> string(19) "2017-08-25 13:38:45" ["regdate"]=> string(19) "2017-08-25 13:38:45" [5]=> string(1) "0" ["status"]=> string(1) "0" [6]=> string(19) "0000-00-00 00:00:00" ["last_visit"]=> string(19) "0000-00-00 00:00:00" [7]=> string(1) "7" ["referrer"]=> string(1) "7" [8]=> string(0) "" ["avatar"]=> string(0) "" [9]=> string(0) "" ["link_vk"]=> string(0) "" [10]=> string(0) "" ["skype_login"]=> string(0) "" [11]=> string(0) "" ["youtube_link"]=> string(0) "" [12]=> string(0) "" ["email_contakt"]=> string(0) "" [13]=> string(0) "" ["perfect_purse"]=> string(0) "" } } [1]=> array(1) { ["level_1"]=> array(28) { [0]=> string(1) "9" ["id"]=> string(1) "9" [1]=> string(8) "balon777" ["login"]=> string(8) "balon777" [2]=> string(8) "balon777" ["password"]=> string(8) "balon777" [3]=> string(18) "balon777@gmail.com" ["email"]=> string(18) "balon777@gmail.com" [4]=> string(19) "2017-08-25 13:39:24" ["regdate"]=> string(19) "2017-08-25 13:39:24" [5]=> string(1) "0" ["status"]=> string(1) "0" [6]=> string(19) "0000-00-00 00:00:00" ["last_visit"]=> string(19) "0000-00-00 00:00:00" [7]=> string(1) "7" ["referrer"]=> string(1) "7" [8]=> string(0) "" ["avatar"]=> string(0) "" [9]=> string(0) "" ["link_vk"]=> string(0) "" [10]=> string(0) "" ["skype_login"]=> string(0) "" [11]=> string(0) "" ["youtube_link"]=> string(0) "" [12]=> string(0) "" ["email_contakt"]=> string(0) "" [13]=> string(0) "" ["perfect_purse"]=> string(0) "" } } [2]=> array(1) { ["level_1"]=> array(28) { [0]=> string(2) "10" ["id"]=> string(2) "10" [1]=> string(6) "pamir2" ["login"]=> string(6) "pamir2" [2]=> string(5) "pamir" ["password"]=> string(5) "pamir" [3]=> string(15) "pamir2@pamir.ru" ["email"]=> string(15) "pamir2@pamir.ru" [4]=> string(19) "2017-08-30 14:14:55" ["regdate"]=> string(19) "2017-08-30 14:14:55" [5]=> string(1) "3" ["status"]=> string(1) "3" [6]=> string(19) "2017-08-30 14:15:00" ["last_visit"]=> string(19) "2017-08-30 14:15:00" [7]=> string(1) "7" ["referrer"]=> string(1) "7" [8]=> string(38) "../avatar/pamir2-20170830142301848.jpg" ["avatar"]=> string(38) "../avatar/pamir2-20170830142301848.jpg" [9]=> string(0) "" ["link_vk"]=> string(0) "" [10]=> string(0) "" ["skype_login"]=> string(0) "" [11]=> string(0) "" ["youtube_link"]=> string(0) "" [12]=> string(0) "" ["email_contakt"]=> string(0) "" [13]=> string(0) "" ["perfect_purse"]=> string(0) "" } } [3]=> array(1) { ["level_2"]=> array(28) { [0]=> string(1) "3" ["id"]=> string(1) "3" [1]=> string(7) "mansari" ["login"]=> string(7) "mansari" [2]=> string(6) "123456" ["password"]=> string(6) "123456" [3]=> string(16) "mansari@gmail.ru" ["email"]=> string(16) "mansari@gmail.ru" [4]=> string(19) "0000-00-00 00:00:00" ["regdate"]=> string(19) "0000-00-00 00:00:00" [5]=> string(1) "0" ["status"]=> string(1) "0" [6]=> string(19) "0000-00-00 00:00:00" ["last_visit"]=> string(19) "0000-00-00 00:00:00" [7]=> string(2) "10" ["referrer"]=> string(2) "10" [8]=> string(0) "" ["avatar"]=> string(0) "" [9]=> string(0) "" ["link_vk"]=> string(0) "" [10]=> string(0) "" ["skype_login"]=> string(0) "" [11]=> string(0) "" ["youtube_link"]=> string(0) "" [12]=> string(0) "" ["email_contakt"]=> string(0) "" [13]=> string(0) "" ["perfect_purse"]=> string(0) "" } } [4]=> array(1) { ["level_3"]=> array(28) { [0]=> string(2) "11" ["id"]=> string(2) "11" [1]=> string(6) "tester" ["login"]=> string(6) "tester" [2]=> string(6) "tester" ["password"]=> string(6) "tester" [3]=> string(20) "tester@tester.tester" ["email"]=> string(20) "tester@tester.tester" [4]=> string(19) "2017-08-30 18:41:02" ["regdate"]=> string(19) "2017-08-30 18:41:02" [5]=> string(1) "0" ["status"]=> string(1) "0" [6]=> string(19) "0000-00-00 00:00:00" ["last_visit"]=> string(19) "0000-00-00 00:00:00" [7]=> string(1) "3" ["referrer"]=> string(1) "3" [8]=> string(0) "" ["avatar"]=> string(0) "" [9]=> string(0) "" ["link_vk"]=> string(0) "" [10]=> string(0) "" ["skype_login"]=> string(0) "" [11]=> string(0) "" ["youtube_link"]=> string(0) "" [12]=> string(0) "" ["email_contakt"]=> string(0) "" [13]=> string(0) "" ["perfect_purse"]=> string(0) "" } } [5]=> array(1) { ["level_4"]=> array(28) { [0]=> string(2) "12" ["id"]=> string(2) "12" [1]=> string(8) "devtools" ["login"]=> string(8) "devtools" [2]=> string(8) "devtools" ["password"]=> string(8) "devtools" [3]=> string(20) "devtools@devtools.ru" ["email"]=> string(20) "devtools@devtools.ru" [4]=> string(19) "2017-08-30 18:42:00" ["regdate"]=> string(19) "2017-08-30 18:42:00" [5]=> string(1) "0" ["status"]=> string(1) "0" [6]=> string(19) "0000-00-00 00:00:00" ["last_visit"]=> string(19) "0000-00-00 00:00:00" [7]=> string(2) "11" ["referrer"]=> string(2) "11" [8]=> string(0) "" ["avatar"]=> string(0) "" [9]=> string(0) "" ["link_vk"]=> string(0) "" [10]=> string(0) "" ["skype_login"]=> string(0) "" [11]=> string(0) "" ["youtube_link"]=> string(0) "" [12]=> string(0) "" ["email_contakt"]=> string(0) "" [13]=> string(0) "" ["perfect_purse"]=> string(0) "" } } [6]=> array(1) { ["level_5"]=> array(28) { [0]=> string(2) "13" ["id"]=> string(2) "13" [1]=> string(9) "kalibrius" ["login"]=> string(9) "kalibrius" [2]=> string(9) "kalibrius" ["password"]=> string(9) "kalibrius" [3]=> string(23) "kalibrius@kalibrius.com" ["email"]=> string(23) "kalibrius@kalibrius.com" [4]=> string(19) "2017-08-30 18:43:35" ["regdate"]=> string(19) "2017-08-30 18:43:35" [5]=> string(1) "0" ["status"]=> string(1) "0" [6]=> string(19) "0000-00-00 00:00:00" ["last_visit"]=> string(19) "0000-00-00 00:00:00" [7]=> string(2) "12" ["referrer"]=> string(2) "12" [8]=> string(0) "" ["avatar"]=> string(0) "" [9]=> string(0) "" ["link_vk"]=> string(0) "" [10]=> string(0) "" ["skype_login"]=> string(0) "" [11]=> string(0) "" ["youtube_link"]=> string(0) "" [12]=> string(0) "" ["email_contakt"]=> string(0) "" [13]=> string(0) "" ["perfect_purse"]=> string(0) "" } } [7]=> array(1) { ["level_4"]=> array(28) { [0]=> string(2) "15" ["id"]=> string(2) "15" [1]=> string(6) "bagdat" ["login"]=> string(6) "bagdat" [2]=> string(6) "bagdat" ["password"]=> string(6) "bagdat" [3]=> string(14) "bagdat@mail.ru" ["email"]=> string(14) "bagdat@mail.ru" [4]=> string(19) "2017-08-30 18:52:52" ["regdate"]=> string(19) "2017-08-30 18:52:52" [5]=> string(1) "0" ["status"]=> string(1) "0" [6]=> string(19) "0000-00-00 00:00:00" ["last_visit"]=> string(19) "0000-00-00 00:00:00" [7]=> string(2) "11" ["referrer"]=> string(2) "11" [8]=> string(0) "" ["avatar"]=> string(0) "" [9]=> string(0) "" ["link_vk"]=> string(0) "" [10]=> string(0) "" ["skype_login"]=> string(0) "" [11]=> string(0) "" ["youtube_link"]=> string(0) "" [12]=> string(0) "" ["email_contakt"]=> string(0) "" [13]=> string(0) "" ["perfect_purse"]=> string(0) "" } } [8]=> array(1) { ["level_1"]=> array(28) { [0]=> string(2) "16" ["id"]=> string(2) "16" [1]=> string(9) "raketa099" ["login"]=> string(9) "raketa099" [2]=> string(9) "raketa099" ["password"]=> string(9) "raketa099" [3]=> string(17) "raketa099@mail.ru" ["email"]=> string(17) "raketa099@mail.ru" [4]=> string(19) "2017-08-30 23:01:57" ["regdate"]=> string(19) "2017-08-30 23:01:57" [5]=> string(1) "0" ["status"]=> string(1) "0" [6]=> string(19) "0000-00-00 00:00:00" ["last_visit"]=> string(19) "0000-00-00 00:00:00" [7]=> string(1) "7" ["referrer"]=> string(1) "7" [8]=> string(0) "" ["avatar"]=> string(0) "" [9]=> string(0) "" ["link_vk"]=> string(0) "" [10]=> string(0) "" ["skype_login"]=> string(0) "" [11]=> string(0) "" ["youtube_link"]=> string(0) "" [12]=> string(0) "" ["email_contakt"]=> string(0) "" [13]=> string(0) "" ["perfect_purse"]=> string(0) "" } } } 

It is necessary that you can refer to the object by level_ for example, something like this

 echo $array["level_1"][0]["login"] 

I have users in the array level_1 , level_2 and so on. So I need to group the array in such a way that I can pull information on the person who is in the array, for example, level_1

Thank you in advance for your help.

    1 answer 1

    If you consider that in your $array[$idx] can be only one level_X element, then the solution can be, for example, the following:

    Initial data:

     $data = [ 0 => [ "level_1" => ['login' => 'test-1-1']], 1 => [ "level_1" => ['login' => 'test-1-2']], 2 => [ "level_2" => ['login' => 'test-2-1']], ]; 

    Conversion:

     $result = []; foreach($data as $v){ $result[key($v)][] = current($v); } print_r($result); 

    In this case, the key() and current() functions initially point to the first and only level_* element in the array.
    If for some reason you do not like using a loop, you can use the array_walk function to traverse the array, but this does not change the essence:

     $result2 = []; array_walk($data, function($v) use (&$result2){ $result2[key($v)][] = current($v);}); print_r($result2); 
    • What you need, Thank you so much, that’s what you’ve felt today with this array. - Tokwiro