我有未定义大小的数组的倒数第二个元素的值,例如:得到键和一个数组
<?php
$array["foo"] = 86 ;
$array["bar"] = 49 ;
$array["matt"] = 96 ;
?>
我不想打扰阵列的内部指针,但想要得到的COPY数组的倒数第二个值。
我有未定义大小的数组的倒数第二个元素的值,例如:得到键和一个数组
<?php
$array["foo"] = 86 ;
$array["bar"] = 49 ;
$array["matt"] = 96 ;
?>
我不想打扰阵列的内部指针,但想要得到的COPY数组的倒数第二个值。
我不知道,为什么你使用地图的时候,其实你想要一个有序列表,而不是,但
$tmp = array_values($array);
echo $tmp[count($tmp) -2];
应该这样做。使用php5.4这应该工作要么
echo array_values($array)[count($array)-2];
你可以这样做。
$array["foo"] = 86 ;
$array["bar"] = 49 ;
$array["matt"] = 96 ;
$x = count($array);
foreach($array as $row)
{
if($x == 2)
{ $secondLast = $row;}
$x--;
}
echo $secondLast;
因为您正在使用关联数组。
我不确定你的数组的大小是多少,所以将所有值复制到一个单独的数组可能不是一个好主意。
下面的代码从第二个最后位置切出一个长度为1的数组,并设置$key
和$value
。
$pair = array_slice($array, -2, 1, true);
$key = key($pair);
$value = current($pair);
PS:可能应该放入一个简单的分离函数?!
我也想第二个最后一个键... – 2012-08-03 07:11:08
使用'array_keys($ array)[count($ array)-2];' – 2012-08-03 07:20:10