Не могу никак понять как исправить ситуацию: есть код: PHP: $result = []; foreach ($sorting as $sorting_key => $sorting_value) { if (isset($sorting_value->software_developer) && isset($sorting_value->licensing_option) && isset($sorting_value->license_type) && isset($sorting_value->number_of_licenses_installed)) { $included_in_mapping = []; $included_in_mapping = ([ 'display_name' => $sorting_value->display_name, 'product_id' => $sorting_value->product_id, 'publisher' => $sorting_value->publisher, 'software_developer' => $sorting_value->software_developer, 'licensing_option' => $sorting_value->licensing_option, 'number_of_purchased_licenses' => $sorting_value->number_of_purchased_licenses, 'license_type' => $sorting_value->license_type, 'number_of_licenses_installed' => $sorting_value->number_of_licenses_installed ]); $result = array_merge_recursive($result, $included_in_mapping); } else { $not_included_in_mapping = ([ 'display_name' => $sorting_value->display_name, 'product_id' => $sorting_value->product_id, 'publisher' => $sorting_value->publisher, 'software_developer' => $sorting_value->software_developer, 'licensing_option' => $sorting_value->licensing_option, 'number_of_purchased_licenses' => $sorting_value->number_of_purchased_licenses, 'license_type' => $sorting_value->license_type, 'number_of_licenses_installed' => $sorting_value->number_of_licenses_installed ]); } } dd($result); он выводит мне: Код (Text): array:8 [▼ "display_name" => array:3 [▼ 0 => "Продукт_1" 1 => "1С:Предприятие" 2 => "2" ] "product_id" => array:3 [▼ 0 => "{27735B09-9EFE-419F-A377-10AA8111C30A}" 1 => "{403EF592-953B-4794-BCEF-ECAB835C2095}" 2 => "3" ] "publisher" => array:3 [▼ 0 => "Intel Corporation" 1 => "Intel" 2 => "3" ] "software_developer" => array:3 [▼ 0 => "Разработчик_1" 1 => "11" 2 => "3" ] "licensing_option" => array:3 [▼ 0 => "Вариант лицензирования" 1 => "1" 2 => "3" ] "number_of_purchased_licenses" => array:3 [▼ 0 => null 1 => null 2 => null ] "license_type" => array:3 [▶] "number_of_licenses_installed" => array:3 [▼ 0 => "6" 1 => "2" 2 => "4" ] ] а как получить такой вид? Код (Text): Collection {#2645 ▼ #items: array:2422 [▼ 0 => {#208 ▼ +"id": "1" +"display_name": "Продукт_1" +"product_id": "{27735B09-9EFE-419F-A377-10AA8111C30A}" +"publisher": "Intel Corporation" +"software_developer": "Разработчик_1" +"name_of_software": null +"licensing_option": "Вариант лицензирования" +"number_of_purchased_licenses": null +"license_type": "Тип лицензии" +"number_of_licenses_installed": "6" } 1 => {#2646 ▼ +"id": "2" +"display_name": "1С:Предприятие" +"product_id": "{403EF592-953B-4794-BCEF-ECAB835C2095}" +"publisher": "Intel" +"software_developer": "11" +"name_of_software": null +"licensing_option": "1" +"number_of_purchased_licenses": null +"license_type": "1" +"number_of_licenses_installed": "2" } 2 => {#2647 ▼ +"id": "3" +"display_name": "2" +"product_id": "3" +"publisher": "3" +"software_developer": "3" +"name_of_software": null +"licensing_option": "3" +"number_of_purchased_licenses": null +"license_type": "3" +"number_of_licenses_installed": "4"
Вынеси за пределы цикла, в начало --- Добавлено --- Замени на: PHP: $included_in_mapping[] = [ 'display_name' => $sorting_value->display_name, 'product_id' => $sorting_value->product_id, 'publisher' => $sorting_value->publisher, 'software_developer' => $sorting_value->software_developer, 'licensing_option' => $sorting_value->licensing_option, 'number_of_purchased_licenses' => $sorting_value->number_of_purchased_licenses, 'license_type' => $sorting_value->license_type, 'number_of_licenses_installed' => $sorting_value->number_of_licenses_installed ];
@Danil005 Спасибо огромнейшее! Если можно для дурака разжевать почему так или что почитать на эту тему. + заменил на $result = array_merge($included_in_mapping); до этого задваивало значения