Пишу рекурсию что бы собрать уникальный массив Вот изначальный PHP: [0] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 5 [id_wheel_from_kuzov] => 1 [size_wheel] => R13 [usluga] => 4 колеса* [usluga_cost] => 1200 [id_wheel_from_usluga] => 5 [id_usluga] => 9 ) [1] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 5 [id_wheel_from_kuzov] => 1 [size_wheel] => R13 [usluga] => без монтажа** [usluga_cost] => 800 [id_wheel_from_usluga] => 5 [id_usluga] => 8 ) ну и тд он много повторяется там меняются поля некоторые вот как пытаюсь собирать PHP: private function getUnicMas($mas,$attr,$point=''){ static $ma_res = []; if($point){ foreach($mas as $key=>$val){ if($val[$attr] == $point){ $ma_res [$point]= [ $val['aderes'] => [ 'price_point' => $val['price_point'], 'aderes' => $val['aderes'], $val['kuzov_type'] => [ 'kuzov_type' =>$val['kuzov_type'], 'price_cuzov' => $val['price_cuzov'], 'id_kuzov' => $val['id_kuzov'], 'id_kuzov_from_point' => $val['id_kuzov_from_point'], $val['size_wheel'] =>[ 'id_wheel' => $val['id_wheel'], 'id_wheel_from_kuzov' => $val['id_wheel_from_kuzov'], $val['usluga']=>[ 'usluga_cost' => $val['usluga_cost'], 'id_wheel_from_usluga' => $val['id_wheel_from_usluga'], 'id_usluga' => $val['id_usluga'], ], ], ], ], ]; } } }else{ foreach($mas as $key=>$val){ $this->getUnicMas($mas,$attr,$val[$attr]); } } return $ma_res; } но получается не то что ожидаю PHP: [1] => Array ( [ул. Белы Куна, д.24 к.1] => Array ( [price_point] => 200 [aderes] => ул. Белы Куна, д.24 к.1 [Минивэн] => Array ( [kuzov_type] => Минивэн [price_cuzov] => 150 [id_kuzov] => 2 [id_kuzov_from_point] => 1 [R-16,17] => Array ( [id_wheel] => 14 [id_wheel_from_kuzov] => 2 [без монтажа**] => Array ( [usluga_cost] => 1320 [id_wheel_from_usluga] => 14 [id_usluga] => 27 ) ) ) ) ) Например там где минивен должно быть еще несколько типов разных потом там где R-16,17 тоже должны быть еще массивы и также где без монтажа** должны быть еще массивы. Он короче собирает только последние данные типо заменяет а не создает новыепочему не могу понять
Вот есть массив вставляю не полный его нужно собрать в один PHP: Array ( [0] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 5 [id_wheel_from_kuzov] => 1 [size_wheel] => R13 [usluga] => 4 колеса* [usluga_cost] => 1200 [id_wheel_from_usluga] => 5 [id_usluga] => 9 ) [1] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 5 [id_wheel_from_kuzov] => 1 [size_wheel] => R13 [usluga] => без монтажа** [usluga_cost] => 800 [id_wheel_from_usluga] => 5 [id_usluga] => 8 ) [2] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 3 [id_wheel_from_kuzov] => 1 [size_wheel] => R14 [usluga] => 4 колеса* [usluga_cost] => 1280 [id_wheel_from_usluga] => 3 [id_usluga] => 10 ) [3] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 3 [id_wheel_from_kuzov] => 1 [size_wheel] => R14 [usluga] => без монтажа** [usluga_cost] => 880 [id_wheel_from_usluga] => 3 [id_usluga] => 11 ) [4] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 4 [id_wheel_from_kuzov] => 1 [size_wheel] => R15 [usluga] => 4 колеса* [usluga_cost] => 1440 [id_wheel_from_usluga] => 4 [id_usluga] => 12 ) [5] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 4 [id_wheel_from_kuzov] => 1 [size_wheel] => R15 [usluga] => без монтажа** [usluga_cost] => 1040 [id_wheel_from_usluga] => 4 [id_usluga] => 13 ) [6] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 6 [id_wheel_from_kuzov] => 1 [size_wheel] => R16 [usluga] => 4 колеса* [usluga_cost] => 1640 [id_wheel_from_usluga] => 6 [id_usluga] => 14 ) --- Добавлено --- выше написал
PHP: [1] => Array ( [ул. Белы Куна, д.24 к.1] => Array ( [price_point] => 200 [aderes] => ул. Белы Куна, д.24 к.1 [Минивэн] => Array ( [kuzov_type] => Минивэн [price_cuzov] => 150 [id_kuzov] => 2 [id_kuzov_from_point] => 1 [R-16,17] => Array ( [id_wheel] => 14 [id_wheel_from_kuzov] => 2 [без монтажа**] => Array ( [usluga_cost] => 1320 [id_wheel_from_usluga] => 14 [id_usluga] => 27 ) ) [R-17] => Array ( [id_wheel] => 14 [id_wheel_from_kuzov] => 2 [без монтажа**] => Array ( [usluga_cost] => 1320 [id_wheel_from_usluga] => 14 [id_usluga] => 27 ) [без монтажа2] => Array ( [usluga_cost] => 1320 [id_wheel_from_usluga] => 14 [id_usluga] => 27 ) ) ) [Минивэн2] => Array ( [kuzov_type] => Минивэн [price_cuzov] => 150 [id_kuzov] => 2 [id_kuzov_from_point] => 1 [R-16,17] => Array ( [id_wheel] => 14 [id_wheel_from_kuzov] => 2 [без монтажа**] => Array ( [usluga_cost] => 1320 [id_wheel_from_usluga] => 14 [id_usluga] => 27 ) ) [R-18] => Array ( [id_wheel] => 14 [id_wheel_from_kuzov] => 2 [без монтажа**] => Array ( [usluga_cost] => 1320 [id_wheel_from_usluga] => 14 [id_usluga] => 27 ) [без монтажа 2] => Array ( [usluga_cost] => 1320 [id_wheel_from_usluga] => 14 [id_usluga] => 27 ) ) ) ) )
Это размеры колес ну суть в том что должно выглядеть так у адреса есть типы кузовов (минивен, джип...) и каждого типа кузова есть размеры колес (R-16,R-17 ...) у каждого разера колеса есть услуги (без монтажа**, с шиномонтажом...) вот такая вот структура должна быть.
Списка нет. Сначала формирую вот такой массив когда достаю из базы данные PHP: Array ( [0] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 5 [id_wheel_from_kuzov] => 1 [size_wheel] => R13 [usluga] => 4 колеса* [usluga_cost] => 1200 [id_wheel_from_usluga] => 5 [id_usluga] => 9 ) [1] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 5 [id_wheel_from_kuzov] => 1 [size_wheel] => R13 [usluga] => без монтажа** [usluga_cost] => 800 [id_wheel_from_usluga] => 5 [id_usluga] => 8 ) [2] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 3 [id_wheel_from_kuzov] => 1 [size_wheel] => R14 [usluga] => 4 колеса* [usluga_cost] => 1280 [id_wheel_from_usluga] => 3 [id_usluga] => 10 ) [3] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 3 [id_wheel_from_kuzov] => 1 [size_wheel] => R14 [usluga] => без монтажа** [usluga_cost] => 880 [id_wheel_from_usluga] => 3 [id_usluga] => 11 ) [4] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 4 [id_wheel_from_kuzov] => 1 [size_wheel] => R15 [usluga] => 4 колеса* [usluga_cost] => 1440 [id_wheel_from_usluga] => 4 [id_usluga] => 12 ) [5] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 4 [id_wheel_from_kuzov] => 1 [size_wheel] => R15 [usluga] => без монтажа** [usluga_cost] => 1040 [id_wheel_from_usluga] => 4 [id_usluga] => 13 ) [6] => Array ( [aderes] => ул. Белы Куна, д.24 к.1 [price_point] => 200 [id_point] => 1 [kuzov_type] => Легковой [price_cuzov] => 100 [id_kuzov] => 1 [id_kuzov_from_point] => 1 [id_wheel] => 6 [id_wheel_from_kuzov] => 1 [size_wheel] => R16 [usluga] => 4 колеса* [usluga_cost] => 1640 [id_wheel_from_usluga] => 6 [id_usluga] => 14 )
Нет массив сам еще больше это только часть я скопировал тае есть еще кузова и у каждого кузова своя цена у каждого колеса своя цена у каждой точки своя цена и у каждой услуги относительно размера колес своя цена
Какой массив должен получиться в самом конце?? Ты показал как получается после результат твоего кода. А как должно быть на самом деле?