php получить ключ массива [дубликат]
Более универсальный способ проверки значений, подходит для вложенных массивов:
function check($array, $value) < foreach ($array as $key =>$inner) < if (is_array($inner)) < if (check($inner, $value)) < return true; >> else < if ($value == $inner) < return true; >> > return false; >
if (check($pages, 'main')) < // нашли 'main'. >else < // не нашли 'main'. >
Отслеживать
ответ дан 28 фев 2016 в 12:41
365 1 1 серебряный знак 9 9 бронзовых знаков
вы ищите в верхнем уровне массива, так работать не будет. а так должно:
foreach($pages as $k=>$v)
Отслеживать
ответ дан 28 фев 2016 в 11:30
16.4k 2 2 золотых знака 15 15 серебряных знаков 24 24 бронзовых знака
- php
- массивы
-
Важное на Мете
Связанные
Похожие
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Получение ключей в цикле foreach в PHP
В цикле foreach можно получать не только элементы перебираемого массива, но и ключи. В таком случае после as следует указать такую конструкцию: $ключ => $элемент . В переменной $ключ будут хранится ключи, а в переменной $элемент — соответствующие этим ключам элементы.
Чтобы посмотреть на практике, как работать с ключами, давайте сделаем следующее — при каждом проходе цикла будем выводить на экран ключ массива и соответствующий ему элемент через дефис:
1, ‘b’ => 2, ‘c’ => 3, ‘d’ => 4, ‘e’ => 5]; foreach ($arr as $key => $elem) < echo $key.'-'.$elem; // выведет: 'a-1', 'b-2', 'c-3' и так далее. >?>?php>
‘зеленый’, ‘red’ => ‘красный’,’blue’ => ‘голубой’]; ?>?php>
С помощью цикла foreach выведите на экран столбец ключей и элементов в формате green — зеленый.
30, ‘user2’ => 32, ‘user3’ => 33]; ?>?php>
С помощью цикла foreach выведите на экран столбец строк такого формата: user1 — возраст 30 лет.
Как получить список ключей массива php
В PHP для получения списка ключей из массива есть встроенная функция array_keys() . Вот пример, как она работает:
$user = ["first_name" => "John", "last_name" => "Deere", "age" => 47]; $keys = array_keys($user); print_r($keys); // => ["first_name", "last_name", "age"]
Как найти индекс элемента в php массиве
Для этого подойдёт функция array_search() . Она возвращает индекс найденного в массиве элемента. Вот только нужно не забывать о том, что если в массиве несколько одинаковых элементов, то array_search() вернёт индекс первого из них.
$words = ['hexlet', 'potato', 'green', 'smith']; $index = array_search('green', $words); print_r($index); //=> 2