Взять последнее значение массива php

Содержание
  1. Как получить последний элемент php массива
  2. Как получить последний элемент массива в PHP
  3. Вариант 1
  4. Вариант 2
  5. Вариант 3
  6. Работа с массивами PHP – создание, наполнение, удаление
  7. Создание массивов
  8. Создать массив и заполнить его значениями
  9. Результат:
  10. Результат:
  11. Узнать количество элементов в массиве
  12. Добавление элементов в массив
  13. Добавить значение в начало массива
  14. Результат:
  15. Добавить значение в конец массива
  16. Результат:
  17. Работа с ключами массива
  18. Поучить первый ключ массива
  19. Поучить последний ключ массива
  20. Переопределить ключи массива
  21. Результат:
  22. Результат:
  23. Получение элементов из массива
  24. Получить первый элемент массива
  25. Получить последний элемент массива
  26. Получить часть (срез) массива
  27. Результат:
  28. Извлечь первый элемент массива
  29. Результат:
  30. Извлечь последний элемент массива
  31. Результат:
  32. Извлечь часть массива
  33. Результат:
  34. Выбрать все значения из массива
  35. Результат:
  36. Выбрать все ключи массива
  37. Результат:
  38. Выбирать случайные значения из массива
  39. Поиск и проверка элементов в массиве
  40. Проверить, есть ли значение в массиве
  41. Проверить, есть ли ключ в массиве
  42. Удаление элементов из массива
  43. Результат:
  44. Удаление пустых значений
  45. Результат:
  46. Удалить повторяющиеся значения массива
  47. Результат:
  48. Объединение массивов
  49. Результат:
  50. Разделить массив на части
  51. Результат:
  52. Результат:

Как получить последний элемент php массива

Смотря что подразумевается под словом «получить». Если нужно именно извлечь (получить элемент и уменьшить длину массива) последний элемент массива, то можно воспользоваться функцией array_pop() :

 $numbers = [1, 2, 3, 4]; $lastNumber = array_pop($numbers); print_r($numbers); //=> [1, 2, 3] // Исходный массив уменьшился на один элемент 

А если изменять исходный массив нельзя, то можно воспользоваться функцией array_key_last() . Эта функция получает ключ последнего элемента массива, а потом можно получить и сам последний элемент. Взгляните на пример:

 $numbers = [1, 2, 3, 4]; $lastNumber = $numbers[array_key_last($numbers)]; print_r($numbers); //=> [1, 2, 3, 4] // Исходный массив при этом не изменился 

Поиск последнего элемента PHP массива с помощью функции count() .

Подсчитывает количество элементов массива.

 $numbers = ['one', 'two', 'three', 'four']; $count = count($numbers); // => 4 $lastKey = count($numbers) - 1; // => 3 $lastValue = $numbers[$lastKey]; echo($lastValue); // => four 

Источник

Как получить последний элемент массива в PHP

Имеется много способов извлечь последний элемент массива в PHP скрипте. Они различаются своим воздействием на массив (могут удалять извлечённый элемент, либо сдвигать указатель), а также своей производительностью.

Вариант 1

Начиная с PHP 7.3 наконец-то добавлена специальная функция, которая получает последний ключ массива, это функция array_key_last.

Обратите внимание, что извлекается не последний элемент массива, а именно последний ключ, поэтому для получения самого последнего члена массива эту функцию нужно использовать следующим образом:

$x = $array[array_key_last($array)];

Бенчмарки производительности показывают, что это самый быстрый вариант, поэтому рекомендуется использовать именно его.

Поскольку PHP 7.3 на момент написания является совсем недавним стабильным релизом, то эта версия доступна ещё не на всех серверах. Для достижения совместимости, рекомендуется использовать следующий код:

if (! function_exists("array_key_last")) < function array_key_last($array) < if (!is_array($array) || empty($array)) < return NULL; >return array_keys($array)[count($array)-1]; > >

Этот код проверяет, доступна ли функция array_key_last. Если эта функция недоступна, то создаётся пользовательская функция с таким же именем, которая выполняет это же самое действие. Результатом этого будет то, что на PHP версии 7.3 и более поздних будет использоваться оригинальная функция array_key_last, а на более старых версиях будет задействована пользовательская функция array_key_last.

Читайте также:  Time python время выполнения программы

Рассмотрим ещё варианты, которые подойдут для более старых версий PHP.

Некоторые из рассмотренных вариантов могут показаться излишне усложнёнными, но это сделано для того, чтобы убрать воздействие на массив. К примеру, нужное действие (получение последнего элемента массива) может выполнять функция array_pop, но она не используется сама по себе (хотя применяется в некоторых рассмотренных конструкциях), поскольку в результате её действия удаляется извлекаемый элемент.

Вариант 2

$x = array_values(array_slice($array, -1))[0];

Вариант 3

Источник

Работа с массивами PHP – создание, наполнение, удаление

Основные примеры работы с массивами PHP. Создание, наполнение, извлечение удаление значений.

Создание массивов

Создать массив и заполнить его значениями

$array = array( 'яблоко', 'апельсин', 'виноград' ); // или $array = array(); $array[] = 'яблоко'; $array[] = 'апельсин'; $array[] = 'виноград';

Можно применить функцию array_fill($start, $size, $value) , которая создаст массив с количеством $size элементов со значением $value , начиная с индекса $start .

Данный пример создает массив с тремя элементам «текст», ключи которых будут начинаться с нуля.

$array = array_fill(0, 3, 'текст'); print_r($array);

Результат:

Array ( [0] => текст [1] => текст [2] => текст )

Еще вариант – функция explode($delimiter, $string) , которая из строки $string создаст массив используя разделитель $delimiter , в данном примере запятая.

$array = explode(',', 'текст 1,текст 2,текст 3'); print_r($array);

Результат:

Array ( [0] => текст 1 [1] => текст 2 [2] => текст 3 )

Узнать количество элементов в массиве

echo count($array); // или echo sizeof($array);

Если массив ассоциативный (многомерный), то count() вернёт количество элементов только первого уровня. Чтобы получит количество всех элементов нужно использовать константу COUNT_RECURSIVE .

$array = array( array( 'яблоко', 'апельсин', 'виноград' ), array( 'яблоко', 'апельсин', 'виноград' ) ); echo count($array); // вернет 2 echo count($array, COUNT_RECURSIVE); // вернет 8

Добавление элементов в массив

Добавить значение в начало массива

array_unshift($array, $value) – добавляет одно или несколько элементов в начало массива.

$array = array( 'яблоко', 'апельсин', 'виноград' ); array_unshift($array, 'банан'); print_r($array);

Результат:

Array ( [0] => банан [1] => яблоко [2] => апельсин [3] => виноград )

Добавить значение в конец массива

array_push($array, $value) – добавляет значение в конец массива.

$array = array( 'яблоко', 'апельсин', 'виноград' ); array_push($array, 'банан'); // или $array[] = 'банан'; print_r($array);

Результат:

Array ( [0] => яблоко [1] => апельсин [2] => виноград [3] => банан [4] => банан )

Работа с ключами массива

Поучить первый ключ массива

Функция array_key_first($array) — получает первый ключ массива. Появилась в версии PHP 7.3, для более ранних версий:

if (!function_exists('array_key_first')) < function array_key_first(array $arr) < foreach($arr as $key =>$unused) < return $key; >return null; > >
$array = array( 1 => 'яблоко', 3 => 'апельсин', 5 => 'виноград' ); echo array_key_first($array); // 1

Поучить последний ключ массива

Функция array_key_last($array) — получает последний ключ массива. Появилась в версии PHP 7.3, для более ранних версий:

if (!function_exists('array_key_last')) < function array_key_last($array) < if (!is_array($array) || empty($array)) < return NULL; >return array_keys($array)[count($array) - 1]; > >
$array = array( 1 => 'яблоко', 3 => 'апельсин', 5 => 'виноград' ); echo array_key_last($array); // 5

Переопределить ключи массива

К примеру, после удаления элемента массива сбивается нумерация ключей и нужно назначить новую нумерацию:

$array = array( 1 => 'яблоко', 3 => 'апельсин', 5 => 'виноград' ); $new = array_values($array); print_r($new);

Результат:

Array ( [0] => яблоко [1] => апельсин [2] => апельсин )

Начало нумерации ключей с единицы:

$array = array( 1 => 'яблоко', 3 => 'апельсин', 5 => 'виноград' ); $new = array_combine(range(1, count($array)), $array); print_r($new);

Результат:

Array ( [1] => яблоко [2] => апельсин [3] => апельсин )

Получение элементов из массива

Получить первый элемент массива

$array = array( 'яблоко', 'апельсин', 'виноград' ); reset($array); $first = current($array); // яблоко

Получить последний элемент массива

$array = array( 'яблоко', 'апельсин', 'виноград' ); $end = end($array); // виноград

Получить часть (срез) массива

array_slice($array, $offset, $length) возвращает часть массива начиная с индекса $offset длиной $length .

  • Если $offset отрицательный, то отчет начинается с конца массива.
  • $length можно не указывать, тогда функция вернет все элементы до конца массива начиная с индекса $offset .
$array = array( 'яблоко', 'апельсин', 'виноград' ); $new = array_slice($array, 0, 2); print_r($new);

Результат:

Array ( [0] => яблоко [1] => апельсин )

Извлечь первый элемент массива

array_shift($array) – извлекает первый элемент из массива $array и возвращает его значение.

$array = array( 'яблоко', 'апельсин', 'виноград' ); $first = array_shift($array); // яблоко print_r($array);

Результат:

Array ( [0] => апельсин [1] => виноград )

Извлечь последний элемент массива

array_pop($array) – извлекает последний элемент из массива $array и возвращает его значение.

$array = array( 'яблоко', 'апельсин', 'виноград' ); $end = array_pop($array); // виноград print_r($array);

Результат:

Array ( [0] => яблоко [1] => апельсин )

Извлечь часть массива

Чтобы извлечь из массива часть можно применить функции array_slice() и array_diff() .

$array = array( 'яблоко', 'апельсин', 'виноград' ); $new = array_slice($array, 0, 2); $array = array_diff($array, $new); print_r($new); print_r($array);

Результат:

Array ( [0] => яблоко [1] => апельсин ) Array ( [2] => виноград )

Выбрать все значения из массива

array_values($array) – создает новый массив из исходного $array игнорируя его ключи.

$array = array( 'key 1' => 'яблоко', 'key 2' => 'апельсин', 'key 3' => 'виноград' ); $new = array_values($array); print_r($new);

Результат:

Array ( [0] => яблоко [1] => апельсин [2] => виноград )

Выбрать все ключи массива

array_keys($array) – создает новый массив состоящий из ключей исходного массива.

$array = array( 'key 1' => 'яблоко', 'key 2' => 'апельсин', 'key 3' => 'виноград' ); $new = array_keys($array); print_r($new);

Результат:

Array ( [0] => key 1 [1] => key 2 [2] => key 3 )

Выбирать случайные значения из массива

array_rand($array, $count) возвращает случайным образом один или несколько ключей из массива $array . Если $count больше единицы, то результат будет в виде массива.

$array = array( 3 => 'яблоко', 1 => 'апельсин', 5 => 'виноград' ); echo $array[array_rand($array)];

Поиск и проверка элементов в массиве

Проверить, есть ли значение в массиве

$array = array( 'яблоко', 'апельсин', 'виноград' ); if (in_array('апельсин', $array)) < echo 'Найдено значение "апельсин"'; >// или if (array_search('апельсин', $array) !== false)

Проверить, есть ли ключ в массиве

$array = array( 1 => 'яблоко', 2 => 'апельсин', 3 => 'виноград' ); if (array_key_exists(2, $array)) < echo 'Найден ключ 2'; >// или if (isset($array[2]))

Удаление элементов из массива

unset() – удаляет переменные и элементы массива по ключу.

Читайте также:  Символы теги языка html

В первом примере элемент удаляется по ключу, во втором по значению:

$array = array( 'яблоко', 'апельсин', 'виноград' ); // Удаление по ключу unset($array[1]); // Удаление по значению unset($array[array_search('апельсин', $array)]); print_r($array);

Результат:

Array ( [0] => яблоко [2] => виноград )

Удаление пустых значений

В PHP нет отдельной функции для удаления пустых значений в массиве, поэтому применяют array_diff() которая возвращает расхождения массивов.

$array = array( 'яблоко', '', 'виноград' ); $array = array_diff($array, array('')); print_r($array);

Результат:

Array ( [0] => яблоко [2] => виноград )

Если требуется удалить значения включая 0 , null , array() и т.д. можно применить следующее:

$array = array_diff($array, array('', ' ', null, 0, array()));

Удалить повторяющиеся значения массива

$array = array( 'яблоко', 'яблоко', 'апельсин', 'виноград' ); $array = array_unique($array); print_r($array);

Результат:

Array ( [0] => яблоко [2] => апельсин [3] => виноград )

Объединение массивов

Объединить два и более массивов поможет функция array_merge($array_1, $array_2, . ) .

$array_1 = array( 'яблоко', 'апельсин', 'виноград' ); $array_2 = array( 'помидор', 'огурец', ); $new = array_merge($array_1, $array_2); print_r($new);

Результат:

Array ( [0] => яблоко [1] => апельсин [2] => виноград [3] => помидор [4] => огурец )

Разделить массив на части

array_chunk($array, $size) – создает новый многомерный массив из исходного, деля его на равные части.

В данном примере указано $size = 3 , поэтому получается четыре подмассива в каждом из которых по три элемента.

$array = array( 'январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'ноябрь', 'декабрь', ); $array = array_chunk($array, 3); print_r($array);

Результат:

Array ( [0] => Array ( [0] => январь [1] => февраль [2] => март ) [1] => Array ( [0] => апрель [1] => май [2] => июнь ) [2] => Array ( [0] => июль [1] => август [2] => сентябрь ) [3] => Array ( [0] => ноябрь [1] => декабрь ) )

Если требуется разделить массив на определенное количество частей поможет следующий прием:

$array = array( 'январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'ноябрь', 'декабрь', ); $array = array_chunk($array, ceil(count($array) / 3)); print_r($array);

Результат:

Array ( [0] => Array ( [0] => январь [1] => февраль [2] => март [3] => апрель ) [1] => Array ( [0] => май [1] => июнь [2] => июль [3] => август ) [2] => Array ( [0] => сентябрь [1] => ноябрь [2] => декабрь ) )

Источник

Оцените статью