Добрый день! Помогите чайнику. Есть два массива. Задача: на основание "id и section_id" сформировать три массива. Код (Text): // Массив с id Array ( [0] => Array ( [id] => 10 ) [1] => Array ( [id] => 7 ) [2] => Array ( [id] => 8 ) ) // Массив элементов Array ( [0] => Array ( [name] => Один [section_id] => 10 ) [1] => Array ( [name] => Два [section_id] => 10 ) [2] => Array ( [name] => Три [section_id] => 10 ) [3] => Array ( [name] => 1 [section_id] => 7 ) [4] => Array ( [name] => 2 [section_id] => 7 ) [5] => Array ( [name] => Uno [section_id] => 8 ) ) // Получить Array ( [0] => Array ( [name] => Один [section_id] => 10 ) [1] => Array ( [name] => Два [section_id] => 10 ) [2] => Array ( [name] => Три [section_id] => 10 ) ) Array ( [0] => Array ( [name] => 1 [section_id] => 7 ) [1] => Array ( [name] => 2 [section_id] => 7 ) ) Array ( [0] => Array ( [name] => Uno [section_id] => 8 ) )
Предыдущие два ваших затруднения были однотипны с текущим. Неужели решения не подвигли вас на, хотя бы, попытку разобраться в их механизме?
PHP: <?php $a = [ ['id'=>10], ['id'=>7], ['id'=>8], ]; $b = [ ['name'=>'Один','section_id'=>10], ['name'=>'Два','section_id'=>10], ['name'=>'Три','section_id'=>10], ['name'=>1,'section_id'=>7], ['name'=>2,'section_id'=>7], ['name'=>'Uno','section_id'=>8], ]; $new = []; $ids = array_column ( $a, 'id' ); foreach ( $b AS $key => [ 'name' => $name, 'section_id' => $section_id ] ) { if ( in_array ( $section_id, $ids ) ) { $new[$section_id][] = $b[$key]; } } // response foreach ( array_values ( $new ) AS $covid ) { print_r ( $covid ); } PHP: Array ( [0] => Array ( [name] => Один [section_id] => 10 ) [1] => Array ( [name] => Два [section_id] => 10 ) [2] => Array ( [name] => Три [section_id] => 10 ) ) Array ( [0] => Array ( [name] => 1 [section_id] => 7 ) [1] => Array ( [name] => 2 [section_id] => 7 ) ) Array ( [0] => Array ( [name] => Uno [section_id] => 8 ) )