выбор массива по значению в многомерном массиве

Рейтинг: 1Ответов: 1Опубликовано: 13.04.2015

Есть многомерный массив:

$array = array(
   array(
      'device'=>'iphone',
      'title'=>'айфон',
   ),
   array(
      'device'=>'samsung',
      'title'=>'самсунг',
   ),
);

Необходимо найти вложенный массив по значению device==samsung, чтобы вытягивать именно из этого вложенного массива параметры title и т.д.

Ответы

▲ 1Принят

Простой фп-подход

function getDeviceSpec($specList, $deviceName) {
    foreach ($specList as $spec) {
        if ($spec['device'] === $name) {
            return $spec;
        }
    }
    return null;
}

использование

$samsungSpec = getDeviceSpec($array, 'samsung');

обращаю внимание, что эта конструкция может и не найти данные и вернуть null, если такого устройства нет.