PHP:获取数组最后一项的最快和最简单的方法是什么?

PHP:获取数组最后一项的最快和最简单的方法是什么?,php,micro-optimization,Php,Micro Optimization,无论是索引数组、关联数组还是多维数组,获取数组最后一项的最快、最简单的方法是什么? 它从数组的末尾删除元素。如果您需要保持数组的灵活性,可以使用它,然后将值追加回数组的末尾$array[]=$popped_val我想在文档中说array_pop: array_pop-将元素从数组末尾弹出 打印“1”尝试以下操作: $arrayname[count(arrayname)-1] 对于关联数组: $a= array('hi'=> 'there', 'ok'=> 'then'); list

无论是索引数组、关联数组还是多维数组,获取数组最后一项的最快、最简单的方法是什么?


它从数组的末尾删除元素。如果您需要保持数组的灵活性,可以使用它,然后将值追加回数组的末尾
$array[]=$popped_val

我想在文档中说
array_pop

array_pop-将元素从数组末尾弹出

打印“1”

尝试以下操作:

$arrayname[count(arrayname)-1]

对于关联数组:

$a= array('hi'=> 'there', 'ok'=> 'then');
list($k, $v) = array(end(array_keys($a)), end($a));
var_dump($k);
var_dump($v);

编辑:也适用于数字索引数组

有很多很好的答案。如果你不止一次地写一个函数,请考虑写一个函数:

function array_top(&$array) {
    $top = end($array);
    reset($array); // Optional
    return $top;
}
或者,根据你的脾气:

function array_top(&$array) {
    $top = array_pop($array);
    $array[] = $top; // Push top item back on top
    return $top;
}

$array[]=…
优先于
array\u push()
,cf..)并获取最后一个元素的键。。。(更新它)
end($myArray)$key=key($myArray)
$v=结束($a)$k=钥匙($a)(顺序相关)对我来说似乎更快。这是错误的,它只适用于顺序数字数组,即不适用于无序数组或关联数组。
function array_top(&$array) {
    $top = array_pop($array);
    $array[] = $top; // Push top item back on top
    return $top;
}