Анастасия97
Здравствуйте. Есть 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 , достанете дополнительную информацию
twim32
У вас явная проблема с данными: во втором массиве не указан тип товара (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) { // Находим товары с похожим именем return $o[0] === $p[‘name_item’]; }); foreach($found as $f) { $r = [ $f[0], $f[1], $p[‘price_item’], $p[‘image_item’], ]; $result[] = $r; } } }