эй, у меня есть этот массив:
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») элемент. Привет
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
ПРИМЕЧАНИЕ . Это приведет к сбросу указателя на ваш массив, если вы используете current()
для получения текущего элемента или вы искали его в середине массива, reset()
и end()
сбросят указатель массива (в начало и до конец):
<?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's 12
Вы можете обращаться к элементам массива всегда с синтаксисом квадратной скобки. Итак, чтобы получить первое использование 0
, поскольку массивы индексируются с нулевым индексом и count($arr) - 1
чтобы получить последний элемент.
$firstEle = $arr[0]; $lastEle = $arr[count($arr) - 1];
Вы можете использовать reset()
для получения первого:
$firstEle = reset($arr);
reset()
перематывает внутренний указатель массива на первый элемент и возвращает значение первого элемента массива.
И end()
чтобы получить последнее:
$lastEle = end($arr);
end()
продвигает внутренний указатель массива к последнему элементу и возвращает его значение.