Получить первое значение массива (PHP)
В каждом массиве PHP есть внутренний указатель на «текущий» элемент. И если не использовалась функция next() , то ее вызов вернет текущее значение массива, в данном случае первое. Если вызов функции next() , был осуществлен, то сперва нужно воспользоваться функцией reset() .
Функция array_shift()
Функция array_shift() извлекает первое значение массива и возвращает его.
Внимание! Значение возвращаемое функцией array_shift() пропадает из массива.
Третий способ
Третий способ не самый лучший, но, если вы уверены что все ключи массива цифровые или вам неважны ключи, то способ тоже подойдет.
✖ ❤ Мне помогла статья нет оценок
45222 просмотра 2 комментария Артём Фёдоров 15 октября 2011
Категории
Читайте также
- Получить последнее значение массива (PHP)
- Получить первый элемент массива (JavaScript)
- Случайный элемент массива (JavaScript)
- Получить массив ключей (PHP)
- Найти и удалить элемент массива (PHP)
- Получить последовательность элементов массива (PHP)
- Массив уникальных значений (JavaScript)
- Умножить массив на число (PHP)
- Как удалить элемент ассоциативного массива (JavaScript)
- Ассоциативный массив в JavaScript
- Преобразовать массив в объект (PHP)
- Элементы массива в случайном порядке (PHP)
Комментарии
Павел Толопило 09 августа 2013 в 13:18
«Функция array_shift() извлекает последнее значение массива и возвращает его.»
array_shift() извлекает первое значение
Артём Фёдоров 01 августа 2018 в 16:06
Павел Толопило, спасибо.
Написать комментарий
© Экспэнч 2010-2023
При полном или частичном копировании статей сайта указывайте пожалуйста ссылку на источник
Хотите узнать больше информации, пишите на: artem@expange.ru
Вход на сайт
Введите данные указанные при регистрации:
Социальные сети
Вы можете быстро войти через социальные сети:
Как получить первый элемент массива в php
Итак, у нас есть массив $arr и нужно получить первый элемент этого массива.
Нельзя просто сделать так:
$first = $arr[0];
Элемент с индексом 0 может быть просто не определен. Например в случае если массив ассоциативный, либо мы сделали unset($arr[0]) .
Способ 1
$first = reset($arr);
Используя reset мы получаем первый элемент, однако есть один побочный эффект: указатель массива также сбрасывается на первый элемент. Хотя в принципе эта функция и предназначена для сброса указателя. Документация по функции reset().
Обратите внимание: если массив пустой reset() вернет false , и этот результат будет неотличим от случая, когда массив не пустой, но содержит false в качестве первого элемента.
$a = array(); $b = array(false, true, true); var_dump(reset($a) === reset($b)); //bool(true)
Способ 2
Можно воспользоваться функцией array_shift — она извлекает первый элемент и при этом удаляет его из переданного массива. Документация по array_shift().
$first = array_shift($arr);
Способ 3
Написать свою функцию для этих целей:
function array_first($array, $default = null) < foreach ($array as $item) < return $item; >return $default; >
Преимущество в том, что она не меняет исходный массив. Также вы можете передать параметр $default , который будет использоваться в качестве значения по умолчанию, если массив пустой.
Кстати во фреймворке Laravel эта функция уже определена и позволяет указать еще и callback, в который можно передать условие. Можно например взять первый элемент, который больше 10 или первый элемент, который не является числом.
Вот код более совершенной функции:
function array_first($array, callable $callback = null, $default = null) if (is_null($callback)) < if (empty($array)) < return $default instanceof Closure ? $default() : $default; >foreach ($array as $item) < return $item; >> foreach ($array as $key => $value) < if (call_user_func($callback, $value, $key)) < return $value; >> return $default instanceof Closure ? $default() : $default; >
Ее можно использовать например так:
$array = [100, 200, 300]; $first = array_first($array, function ($value, $key) < return $value >= 150; >); echo $first; // 200
Способ 4
Функция current() также пригодна для получения первого элемента массива.
Пример использования:
$transport = array('foot', 'bike', 'car', 'plane'); $mode = current($transport); // $mode = 'foot';
Точнее эта функция используется для возвращения элемента, на котором находится внутренний указатель массива. В большинстве случаев указатель на первом элементе, однако есть ситуации, когда может быть возвращен не первый элемент.
$transport = array('foot', 'bike', 'car', 'plane'); next($transport); // перемещаем указатель вперед (http://php.net/manual/ru/function.next.php) $mode = current($transport); // $mode = 'bike'; — т. е. вернулся уже второй элемент массива.
Спасибо комментатору Alexey Berlinskiy, за этот способ.
Если вы еще знаете способы получения первого элемента — пишите в комментариях.
Свежие записи
- SQL UPDATE: примеры обновления строк в таблице
- PHP: substr и мощные альтернативы, чтобы вырезать часть строки
- Степень в C, C++ и С#: как возвести число в любую степень, побитовые операции
- Скачать ShowKeyPlus: ссылка на последнюю официальную версию, скачивание, установка
- Как создать файл в Linux: 12 способов
- SQL INSERT INTO: примеры вставки строк в таблицу БД MySQL
- PHP: str_replace — замена или удаление подстроки в строке
- Функция date() в php: распространенные форматы, примеры, советы
- cURL в PHP: примеры POST, GET запросов с headers, cookie, JSON и многопоточностью
- JSON в PHP: примеры json_encode, json_decode, работа с кириллицей и utf-8
- Файл gitignore — примеры и документация
- Сортировка массивов в php: ksort, asort и прочие sort’ы
- jQuery onclick: как выполнить код при клике на кнопку
- 500 Internal Server Error — в чем причина?
- SMTP от Yandex: как отправить письма из PHP — пример настроек
- No such file or directory — в чем причина?
- Как получить первый элемент массива в php
- Cтроку в массив по разделителю в PHP: explode, str_split, strtok — что выбрать?
- 301 редирект на https с www через htaccess
- Как в php добавить к массиву другой массив?
- 301 редирект на https без www с помощью htaccess
- Регулярные выражения в PHP
- PHP json_decode — как декодировать результат в массив?
- Yii2 ActiveRecord шпаргалка по составлению запросов
- Поиск подстроки в строке с помощью PHP
- Отправка почты на php
- Как подключить php код в html
- Конвертировать массив в строку при помощи PHP
- Подключение одного php файла в другой
- Подборка ссылок для веб-разработчика
- Проблема с кириллицей в PHPWord
Как вывести первый элемент php массива
Если массив нумерованный, т.е. индексы от 0 до N, можно обратиться по индексу элемента и распечатать с помощью print_r. Начиная с 7.3 версии можно получить ключ первого элемента с помощью array_key_first
$a = [1, 2, 3, 4]; print_r($a[0]); # => 1 $firstKey = array_key_first($numWords); print_r($firstKey); # => "zero" print_r($numWords[$firstKey]); # => 0
Найти первый элемент массива в PHP
В этом посте мы обсудим, как получить первый элемент массива в PHP, не удаляя его.
1. Использование reset() функция
The key() Функция возвращает ключ элемента массива, на который в данный момент указывает внутренний указатель. Вы можете установить внутренний указатель массива на его первый элемент, используя reset() функция, которая также возвращает значение первого элемента.
$arr = array ( ‘One’ = > ‘a’ , ‘Two’ = > ‘b’ , ‘Three’ = > ‘c’ ) ;
$first_value = reset ( $arr ) ;
$first_key = key ( $arr ) ;
echo $first_key . ‘ => ‘ . $first_value ;
Выход: Один => а
Внутренний указатель массива инициализируется первым элементом массива. Если массив никогда ранее не перемещался, внутренний указатель будет указывать на первый элемент. В таких случаях вы можете напрямую вызвать current() функция для получения значения первого элемента.
$arr = array ( ‘One’ = > ‘a’ , ‘Two’ = > ‘b’ , ‘Three’ = > ‘c’ ) ;
$first_value = current ( $arr ) ;
$first_key = key ( $arr ) ;
echo $first_key . ‘ => ‘ . $first_value ;
Выход: Один => а
2. Использование array_key_first() функция
Рекомендуемый способ получить первый ключ массива — использовать array_key_first() функция. Эта функция доступна с PHP 7.3.0 и выше, превосходит reset() работает с точки зрения производительности и позволяет избежать любых побочных эффектов, таких как потеря текущей позиции указателя массива.
С array_key_first() функция возвращает «ключ», присутствующий в начале массива, вы можете использовать нотацию доступа к массиву, чтобы получить связанное значение.