Здравствуйте. Есть 2 массива. Первый: Код (Text): Array ( [0] => Array ( [0] => Apple [1] => big ) [1] => Array ( [0] => Orange [1] => medium ) [2] => Array ( [0] => Orange [1] => big ) ) второй Код (Text): Array ( [entries] => Array ( [0] => Array ( [name_item] => Apple [price_item] => 70 [image_item] => img/apple45645.jpg [_id] => 608e9eb364323555fb0002b2 ) [1] => Array ( [name_item] => Orange [price_item] => 90 [image_item] => img/ORANGE777.jpg [_id] => 6092bc293661377e0700007c ) ) ) Мне нужно добавить в первый массив данные из второго. Меня интересуют поля price_item и image_item, которые соответствуют имени массива. Проблема в том, что я не знаю, как достать содержимое, относительно искомого объекта. Ладно если бы у меня был ключ и я бы по нему искала и доставала содержимое, а здесь, в данной ситуации, у меня ступор. Такое вообще возможно? Итоговый массив я хотела получить вот такой: Спойлер: спойлер Код (Text): Array ( [0] => Array ( [0] => Apple [1] => big [price_item] => 70 [image_item] => img/apple45645.jpg ) [1] => Array ( [0] => Orange [1] => medium [price_item] => 90 [image_item] => img/ORANGE777.jpg ) [2] => Array ( [0] => Orange [1] => big [price_item] => 90 [image_item] => img/ORANGE777.jpg ) )
Вам из второго массива надо сделать массив вида: PHP: [ 'name_item1' => [], 'name_item2' => [], ... ] И перебирая первый массив, по [0] => Apple , достанете дополнительную информацию
У вас явная проблема с данными: во втором массиве не указан тип товара (medium, big). Это значит что либо большие и средние апельсины идут по одной цене, либо... сами разбирайтесь. Что-ж, я накидал рабочий пример. Сильно расписывать я не стал чтобы вы сами вникли. PHP: $a = [ [ 'Apple', 'big', ], [ 'Orange', 'medium', ], [ 'Orange', 'big', ], ]; $b = [ [ 'name_item' => 'Apple', 'price_item' => 70, 'image_item' => 'img/apple45645.jpg', '_id' => '608e9eb364323555fb0002b2', ], [ 'name_item' => 'Orange', 'price_item' => 90, 'image_item' => 'img/ORANGE777.jpg', '_id' => '6092bc293661377e0700007c', ], ]; $result = []; foreach($b as $p) { // Находим товары с похожим именем $found = array_filter($a, function($o) use($p) { return $o[0] === $p['name_item']; }); if(count($found) > 0) { // если товары найдены, то добавляем в массив foreach($found as $f) { $r = [ $f[0], $f[1], $p['price_item'], $p['image_item'], ]; $result[] = $r; } } } var_dump($result);