Как достать ключи и значения из многомерного массива?

Итак суть вопроса, имеется $_POST в обработчике который получает нечто такое:

$arr = array (
  0 => array (
    'id' => '35',
    'name' => 'Name 1',
    'currency' => 'DLS',
    'items' => 
    array (
      0 => array (
        'item_code' => '1111',
        'price' => '200.0000000',
        'price_incl_vat' => '230.4',
      ),
    ),
  ),
  1 => array (
    'id' => '36',
    'name' => 'Name 2',
    'currency' => 'DLS',
    'items' => 
    array (
      0 => array (
        'item_code' => '2222',
        'price' => '400.0000000',
        'price_incl_vat' => '460.8',
      ),
    ),
  ),
  2 => array (
    'id' => '65',
    'name' => 'Name 3',
    'currency' => 'DLS',
    'items' => 
    array (
      0 => array (
        'item_code' => '3333',
        'price' => '180.9000000',
        'price_incl_vat' => '190.08',
      ),
      1 => array (
        'item_code' => '4444',
        'price' => '205.9000000',
        'price_incl_vat' => '220.08',
      )
	)
  )
)


Задача перебирать массив (включая вложенные, думал через Foreach в foreach, но не пашет), и если item code то загонять в переменную его значение и так далее цену 1 и цену 2 тоже в свои переменные, а потом уже апдейтить базу под каждый item код. Как лучше сделать в данном случае? - больше вложенности чем в исходнике не будет, но конструкция у меня мало того что жуткая так не работает. Или как вариант все в строку и выгребать ключи и значения и комбинировать?
  • Вопрос задан
  • 223 просмотра
Решения вопроса 1
0xD34F
@0xD34F
думал через Foreach в foreach, но не пашет

Это как? Отлично всё пашет:

foreach ($arr as $val) {
  foreach ($val['items'] as $item) {
    // хватаем item_code, например: $item['item_code']
  }
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AStek
@AStek
Рекурсия/обход в глубину/обход в ширину?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы