JsPhp.ru
Код?... Это просто!
php js Jquery JsPhp blog
ТЕГИ:
php (70)
js (38)
online (13)
html (12)
hash (10)
php array (10)
php img (7)
info (7)
dosite (7)
webp (5)
sha (5)
hosting (4)
jquery (4)
Показать еще :

найти ключ по значению

Как "найти ключ по значению в массиве php?" Рассмотрим несколько вариантов поиска в разных видах массивом по значению! И выведем ключ и его позицию в массиве.

Ищем ключ по значению php.

  1. Как найти по значению ключ массива.
  2. Ищем ключ массива по значению в ассоциативном массиве php.
  3. Ищем ключ массива по значению в ассоциативном массиве второго уровня php.
  4. Ищем ключ массива по значению в ассоциативном массиве второго уровня php №2.
  1. Как найти по значению ключ массива?

    Для того, чтобы найти ключ пао значению вам понадобится:

    Начнем с простого массива, где будем искать ключ по значению. И собственно без примера массива никак:

    $массив = 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:

    Иванов
  2. Ищем ключ массива по значению в ассоциативном массиве php.

    Для того, чтобы найти ключ в ассоциативном массиве вам понадобится:

    Давайте создадим ассоциативный массив:

    $второй_массив = 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 ячейка
  3. Ищем ключ массива по значению в ассоциативном массиве второго уровня php.

    Предположим, что вам нужно найти ключ по значению в ассоциативном двух уровневом массиве, например таком:

    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 ;

    ?>

    Результат поиска ключа по значению в двухуровневом массиве.

    рост
    $третий_массив[Иванов][Саша][рост]


    Теги:

    php найти ключ по значению

    php массивы найти ключ по значению

    jsphp.ru есть здесь:
    Полезные ссылки:
    ruweb
    Я писал немного о ruweb.net!
    Помочь проекту JsPhp.ru

    Что можно сделать!?

    Поделиться ссылкой! C друзьями или врагами!


    Помочь проекту JSPHP.RU: прокомментировать :

    Скоро...


    Мои Проекты :

    Скоро...



    О хостинге :

    Скоро...


    © jsphp.ru 2023 , Аминев Марат. Контакты
    Страница загружена за : 0.0065489999999999 секунд.