См. интсрукция по ruweb.
Находим ключ по значению в массиве php
28.02.2026 13:42 / Марат / Смотрели : 37 / php | php_индексный_массив | php_ассоциативный_массив |Как "найти ключ по значению в массиве php?" Рассмотрим несколько вариантов поиска в разных видах массивом по значению! И выведем ключ и его позицию в массиве.
Ищем ключ по значению php.
- Как найти по значению ключ массива.
- Ищем ключ массива по значению в ассоциативном массиве php.
- Ищем ключ массива по значению в ассоциативном массиве второго уровня php.
- Ищем ключ массива по значению в ассоциативном массиве второго уровня php №2.
-
Как найти по значению ключ массива?
-
Ищем ключ массива по значению в ассоциативном массиве php.
-
Ищем ключ массива по значению в ассоциативном массиве второго уровня php.
Для того, чтобы найти ключ пао значению вам понадобится:
Начнем с простого массива, где будем искать ключ по значению. И собственно без примера массива никак:
$массив = array ( 15, 12 , 'искомое значение', 'слово 2');
Далее нам понадобится функция array_search :
Первым аргументом размещаем искомое значение.
Вторым аргументом ставим массив в котором будем искать ключ по значению:
$key = array_search('искомое значение', $массив );
Выведем найденный ключ по значению с помощью echo + выведем сам массив с помощью print_r.
Код для поиска ключа в массиве по значению:
Соберем весь код поиска ключа по значению в массиве php:
<?
$массив = array ( 15, 12 , 'искомое значение', 'слово 2');
$key = array_search('искомое значение', $массив );
print_r( $массив );
echo $key;
?>
Вывод нашего массива, в котором ищем ключ:
Array
(
[0] => 15
[1] => 12
[2] => искомое значение
[3] => слово 2
)
Результат поиска ключа по значению:
Как видим наш код поиска ключа по значению прекрасно сработал, наш ключ номер 2:
Иванов
Для того, чтобы найти ключ в ассоциативном массиве вам понадобится:
Давайте создадим ассоциативный массив:
$второй_массив = array ("1 ячейка" => 15, "2 ячейка" => 12 , "3 ячейка" => "искомое значение" , "4 ячейка" => "слово");
Выведем его здесь с помощью print_r^
Array
(
[1 ячейка] => 15
[2 ячейка] => 12
[3 ячейка] => искомое значение
[4 ячейка] => слово
)
Поступаем аналогично, что и в предыдущем пункте, используем "array_search":
$key_2 = array_search('искомое значение', $второй_массив );
Выведем с помощью echo:
echo $key_2 ;
Соберем весь код:
Код нахождения ключа по значению в ассоциативном массиве:
Соберем весь код "нахождения ключа по значению в ассоциативном массиве" вместе:
<?
$второй_массив = array ("1 ячейка" => 15, "2 ячейка" => 12 , "3 ячейка" => "искомое значение" , "4 ячейка" => "слово");
$key_2 = array_search('искомое значение', $второй_массив );
echo $key_2 ;
?>
Результат поиска ключа по значению в ассоциативном массиве:
Разместим выше приведенный код поиска ключа прямо здесь:
3 ячейка
Предположим, что вам нужно найти ключ по значению в ассоциативном двух уровневом массиве, например таком:
Array
(
[Иванов] => Array
(
[Саша] => Array
(
[рост] => 198
)
)
[Петров] => Array
(
[Вася] => Array
(
[рост] => 198
)
[Саша] => Array
(
[рост] => 178
)
)
)
Здесь, при выводе немного непонятная структура массива, вот так он выглядит в коде:
$третий_массив['Иванов']['Саша']['рост'] = '198';
$третий_массив['Петров']['Вася']['рост'] = '198';
$третий_массив['Петров']['Саша']['рост'] = '178';
Здесь я даю короткий массив, но массивы бывают большими... очень большими...
Предположим, что вам нужно найти ключ массива со значением "198" ( Обращаю ваше внимание! ) и вообще позицию в данном массиве.
Код поиска ключа по значению в двухуровневом массиве.
Здесь применен массив foreach и только на последнем этапе, когда мы добрались до одномерного массива используем "array_search"
<?
foreach ($третий_массив as $key => $value)
{
foreach ($value as $key2 => $value1)
{
if(array_search('198', $value1 ))
{
$key_3 = array_search('198', $value1 );
$позиция = '$третий_массив['.$key.']['.$key2.']['.$key_3.']';
}
}
}
echo $key_3;
echo $позиция ;
?>
Результат поиска ключа по значению в двухуровневом массиве.
рост
Обращаю ваше внимание, что мы получили последнее вхождение - как получить первое вхождение ?
$третий_массив[Петров][Вася][рост]
Ищем ключ массива по значению в ассоциативном массиве второго уровня php №2.
Предположим, что в этом же массиве вам потребовалось получить первое вхождение значения и получить его ключ!
Для этого вма понадобится:
Теория и код из предыдущего пункта. Только немного изменим приведенный код:
Изменим названия переменных, которые будем выводить, чтобы они не перекрывали друг друга.
При первом нахождении значения используем break - здесь также обращаю ваше внимание на breakСоберем весь код:
Код поиска ключа массива по значению в ассоциативном массиве второго уровня php №2.
Для того, чтобы получить первое вхождение значения и получения ключа вам потребуется
<?
foreach ($третий_массив as $key => $value)
{
foreach ($value as $key2 => $value1)
{
if(array_search('198', $value1 ))
{
$key_4 = array_search('198', $value1 );
$позиция_2 = '$третий_массив['.$key.']['.$key2.']['.$key_4.']';
$break=1;
}
}
if($break) break;
}
echo $key_4;
echo $позиция_2 ;
?>
Результат поиска ключа по значению в двухуровневом массиве.
рост
$третий_массив[Иванов][Саша][рост]
Последнние комментарии:
14.12.2025 :комменты вернулись!
Марат
17.03.2026 14:29
Марат
22.02.2026 17:34
Марат
10.01.2026 23:29
Марат
05.01.2026 19:49
Марат
04.01.2026 19:17