PHP поиск в массиве массивов по ключу и значению

18.11.2021

Иногда бывает нужно найти информацию в массиве в котором есть еще массивы по определенному значению ключа.

Например у нас есть массив вида

$userdb = array(
    array(
        'id_user' => '111',
        'name' => 'Имя 1'
    ),
    array(
        'id_user' => '222',
        'name' => 'Имя 2'
    ),
    array(
        'id_user' => '333',
        'name' => 'Имя 3',
    )
);

И нам надо получить к примеру элемент в этом "массиве массивов" у которого ключ id_user равен 222.

Для этого, если у вас PHP старше 5.5.0 используем следующий код:

// думаю пояснять не надо, и так должно быть понятно
$key = array_search('222', array_column($userdb, 'id_user'));

Полученная переменная будет ключем нашего подмассива в общем массиве. Т.е. $userdb[$key] - это подмассив с найденым значением


Возврат к списку