Есть массив:
Array
(
[0] => Array
(
[ID] => 40
[NAME] => Пример 1
)
[1] => Array
(
[ID] => 39
[NAME] => Пример 2
)
[2] => Array
(
[ID] => 38
[NAME] => Пример 3
)
)
Необходимо найти элемент массива по ID и и вывести NAME. Каким образом это лучше реализовать?
Если операция поиска одноразовая, то можно использовать варианты поиска, приведенные в других ответах.
Если же вам нужно обращаться ко множеству элементам по ID, то лучше перевести массив к виду ID => name
, чего можно добиться простым использованием
$data = array_column($array, 'name', 'id');
print $data[39];
в случае, если у вас там будет не только name
и и другие данные, можно дополнительно использовать array_combine
:
$data = array_combine(array_column($array, 'id'), $array);
тогда фактически ключи будут заменены на значения ID
.
$array
исходный массив, $searchId
ID который ищите
foreach ($array as $item) {
if ($item['ID'] == $searchId) {
echo $item['NAME'];
break;
}
}
К примеру можно сделать вот так:
$array = array(
array(
'id' => 40,
'name' => 'Пример 1'
),
array(
'id' => 39,
'name' => 'Пример 2'
),
array(
'id' => 38,
'name' => 'Пример 3'
)
);
echo $array[array_search(39, array_column($array, 'id'))]['name']; //Пример 2
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Сломал голову, помогите пожалуйста решить проблемуУ меня есть небольшой скрипт, который выполняет php exec команду с каталогами на сетевом ресурсе
Нужно что бы при авторизации были три поля username, password, id_companyИ при авторизации id_company это был префикс базы данных
тестирую на PHP загружается ли изображение на сервер: