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

эй, у меня есть этот массив:

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() продвигает внутренний указатель массива к последнему элементу и возвращает его значение.