Получить первый и последний элемент в массиве
Привет, у меня есть этот массив:
array(1) {
["dump"]=>
string(38) "["24.0",24.1,24.2,24.3,24.4,24.5,24.6]"
}
мой вопрос:
как получить первый и последний элемент из этого массива, поэтому у меня будет:
$firstEle = "24.0";
и
$lastEle = "24.6";
Кто-нибудь знает, как получить эти элементы из массива?
Я уже пробовал это:
$arr = json_decode($_POST["dump"], true);
$col0 = $arr[0];
$col1 = $arr[1];
$col2 = $arr[2];
$col3 = $arr[3];
$col4 = $arr[4];
$col5 = $arr[5];
$col6 = $arr[6];
я мог бы выбрать $col0 и $col6, но массив может быть намного длиннее, поэтому нужен способ фильтрации первого ( "24.0" ) и последнего ( "24.6" ) элемента.
привет
Ответы
Ответ 1
reset()
и end()
делает точно это.
Из руководства:
reset()
: возвращает значение первого элемента массива или FALSE, если массив пуст.
end()
: возвращает значение последнего элемента или FALSE для пустого массива.
Пример:
<?php
$array = array(24.0,24.1,24.2,24.3,24.4,24.5,24.6);
$first = reset($array);
$last = end($array);
var_dump($first, $last);
?>
Какие выходы:
поплавок (24)
Поплавок (24,6)
DEMO
ПРИМЕЧАНИЕ. Это будет reset указатель на ваш массив, если вы используете current()
, чтобы получить текущий элемент или вы искали середину массива, reset()
и end()
будет reset указатель массива (до начала и до конца):
<?php
$array = array(30.0, 24.0, 24.1, 24.2, 24.3, 24.4, 24.5, 24.6, 12.0);
// reset — Set the internal pointer of an array to its first element
$first = reset($array);
var_dump($first); // float(30)
var_dump(current($array)); // float(30)
// end — Set the internal pointer of an array to its last element
$last = end($array);
var_dump($last); // float(12)
var_dump(current($array)); // float(12) - this is no longer 30 - now it 12
Ответ 2
Вы можете обращаться к элементам массива всегда с синтаксисом с квадратной скобкой. Поэтому, чтобы получить первое использование 0
, поскольку массивы индексируются с нулевым индексом и count($arr) - 1
, чтобы получить последний элемент.
$firstEle = $arr[0];
$lastEle = $arr[count($arr) - 1];
Ответ 3
Вы можете использовать reset()
, чтобы получить первое:
$firstEle = reset($arr);
reset()
перематывает внутренний указатель массива на первый элемент и возвращает значение первого элемента массива.
И end()
, чтобы получить последнее:
$lastEle = end($arr);
end()
продвигает внутренний указатель массива к последнему элементу и возвращает его значение.
Ответ 4
Начиная с PHP 7.3, доступны array_key_first и array_key_last is available
$first = $array[array_key_first($array)];
$last = $array[array_key_last($array)];
Ответ 5
Мы можем достичь цели, используя значения массива и ключ массива
Пример: значения массива
<?php
$array = array(24.0,24.1,24.2,24.3,24.4,24.5,24.6);
$array_values = array_values($array);
// get the first item in the array
print array_shift($array_values);
// get the last item in the array
print array_pop($array_values);
?>
Пример: Array Keys
<?php
$array = array(24.0,24.1,24.2,24.3,24.4,24.5,24.6);
$array_keys = array_keys($array);
// get the first item in the array
print $array[array_shift($array_keys)];
// get the last item in the array
print $array[array_pop($array_keys)];
?>
Ответ 6
Для первого элемента: current($arrayname);
Для последнего элемента: end($arrayname);
current(): функция current() возвращает значение текущего элемент в массиве. Каждый массив имеет внутренний указатель на "текущий" элемент, который инициализируется первым вставленным элементом в массив.
end(): функция end() перемещает внутренний указатель и выводит, последний элемент в массиве. Связанные методы: current() - возвращает значение текущего элемента в массиве
$array = array(24.0,24.1,24.2,24.3,24.4,24.5,24.6);
$first = current($array);
$last = end($array);
echo 'First Element: '.$first.' :: Last Element:'.$last;
Результат вывода:
First Element: 24 :: Last Element:24.6