2009-12-18 34 views

回答

28
$myArray = array(5, 4, 3, 2, 1); 

echo end($myArray); 

打印 “1”

+1

并获取最后一个元素的关键字...(更新它) 'end($ myArray); $ key = key($ myArray);' – ZJR 2009-12-18 09:14:14

3

array_pop()

它消除从阵列的端部的元素。如果您需要保持数组的完整性,则可以使用此值,然后将值附加到数组的末尾。 $array[] = $popped_val

+0

+1更快:D – 2009-12-18 08:39:46

1

我想说array_pop在文档:array_pop

array_pop - 流行元素关闭数组末尾

2

试试这个:

$arrayname[count(arrayname)-1] 
+3

这是错误的,它只适用于有序的数值数组,即它不适用于混洗或关联数组。 – Niteriter 2009-12-18 18:09:19

0

对于关联数组:

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

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

+1

'$ v = end($ a); $ k = key($ a);'(顺序是相关的)对我来说似乎更快。 – ZJR 2009-12-18 09:15:59

1

很多伟大的答案。考虑写,如果你这样做一次以上功能:

function array_top(&$array) { 
    $top = end($array); 
    reset($array); // Optional 
    return $top; 
} 

或者,这取决于你的脾气:($array[] = ...最好array_push(),参见the docs

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

相关问题