Подтвердить что ты не робот

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

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

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" ) элемента. привет

4b9b3361

Ответ 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