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”)元素。 问候
答案 0 :(得分:99)
从手册:
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)
注意:这将重置您的数组指针,这意味着如果您使用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
答案 1 :(得分:10)
您可以使用方括号语法访问数组元素。所以首先使用0
,因为数组是从零开始索引的,而count($arr) - 1
是为了得到最后一项。
$firstEle = $arr[0];
$lastEle = $arr[count($arr) - 1];
答案 2 :(得分:1)
您可以使用reset()
获取第一个:
$firstEle = reset($arr);
reset()
将数组的内部指针倒回第一个元素,并返回第一个数组元素的值。
并end()
获取最后一个:
$lastEle = end($arr);
end()
使数组的内部指针前进到最后一个元素,并返回其值。
答案 3 :(得分:1)
从PHP 7.3开始,array_key_first和array_key_last可用
$first = $array[array_key_first($array)];
$last = $array[array_key_last($array)];
答案 4 :(得分:0)
我们可以使用数组值和数组键来实现目标
示例:数组值
<?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);
?>
示例:数组键
<?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)];
?>
答案 5 :(得分:0)
对于第一个元素:current($arrayname);
最后一个元素:end($arrayname);
current():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