Помогите выбрать значение из многомерного массива

Тема в разделе "PHP", создана пользователем verfaa, 20 окт 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. verfaa

    verfaa

    Регистр.:
    29 янв 2007
    Сообщения:
    371
    Симпатии:
    41
    Есть массив вида
    Код:
    $tovari = array(
        'processors' => array(
            array(
                'img' => 'intel',
                'price' => 10
            ),
            array(
                'img' => 'amd',
                'price' => 5
            ),
        ),
     
        'mothers' => array(
            array(
                'img' => 'asus',
                'price' => 12
            ),
            array(
                'img' => 'msi',
                'price' => 17
            ),
        ),
     
        'hard' => array(
            array(
                'img' => 'wd',
                'price' => 10
            ),
            array(
                'img' => 'samsung',
                'price' => 16
            ),
        ),
     
        'memory' => array(
            array(
                'img' => 'kingston',
                'price' => 10
            ),
            array(
                'img' => 'hynix',
                'price' => 20
            )
        ),
    );
    В скрипт приходит название товара, например samsung. Как выбрать из массива price для этого товара?
     
  2. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    624
    Симпатии:
    1.379
    PHP:
    foreach($tovari as $arr)
      foreach(
    $arr as $ar)
          if(
    $ar['img'] == 'samsung')
            echo 
    $ar['price'];
     
    vavakas, Горбушка, latteo и ещё 1-му нравится это.
  3. xpert13

    xpert13 <(*_*)>

    Moderator
    Регистр.:
    7 ноя 2008
    Сообщения:
    182
    Симпатии:
    453
    Рекомендую так же выходить из циклов, если найден нужный элемент, так как при обходе больших массивов это может на прямую сказаться на скорости выполнения скрипта.
     
    latteo нравится это.
Статус темы:
Закрыта.