我有一个未定义大小的数组,例如:
<?php
$array["foo"] = 86 ;
$array["bar"] = 49 ;
$array["matt"] = 96 ;
?>
我不想打扰数组的内部指针,而是想获得数组倒数第二个值的副本。
我不知道,为什么你使用地图,而实际上你想要一个有序列表,但是
$tmp = array_values($array);
echo $tmp[count($tmp) -2];
应该这样做。使用 php5.4 这应该可以工作
echo array_values($array)[count($array)-2];
我不确定您的数组计划的大小,因此将所有值复制到单独的数组中可能不是一个好主意。
下面的代码从倒数第二个位置切出一个长度为 1 的数组,并设置$key
and $value
。
$pair = array_slice($array, -2, 1, true);
$key = key($pair);
$value = current($pair);
PS:大概应该放到一个简单的分离函数中吧?!
你可以这样做。
$array["foo"] = 86 ;
$array["bar"] = 49 ;
$array["matt"] = 96 ;
$x = count($array);
foreach($array as $row)
{
if($x == 2)
{ $secondLast = $row;}
$x--;
}
echo $secondLast;
因为您使用的是关联数组。