【问题标题】:Get key of the last element in an array获取数组中最后一个元素的键
【发布时间】:2011-09-09 05:29:56
【问题描述】:

嘿,我有一个包含一组数组的数组,这是一个例子。

array(
    [0]=>array('name'=>'bob'),
    [2]=>array('name'=>'tom'),
    [3]=array('name'=>'mark')
)

如何获取数组中的最后一项,并返回它的键。

所以在上面的例子中它会返回 3。

【问题讨论】:

  • count($array); ^^
  • @yes123 如果键是数字且顺序准确,没有任何遗漏,这将不起作用。

标签: php arrays indexing


【解决方案1】:
end($array);
echo key($array)

这应该返回最后一个元素的键。

【讨论】:

  • 本方案中数组的指针被修改为数组的最后一个位置
【解决方案2】:

试试$lastKey = end(array_keys($array));

【讨论】:

  • @yes123 还有?它仍然有效,而且都在一条线上,这很好。
  • 我不想过于迂腐,但这会给出Strict Standards: Only variables should be passed by reference ... 消息。
【解决方案3】:
<?php
$a = array(
    0=>array('name'=>'bob'),
    2=>array('name'=>'tom'),
    3=>array('name'=>'mark')
);


$b = array_keys($a);
echo end($b);

?>

类似的东西

【讨论】:

    【解决方案4】:

    另一种选择:

    $last_key = key(array_slice($array, -1, true));
    

    【讨论】:

    • 这不会保留密钥,这可能是这里的要求。
    【解决方案5】:

    你可以创建函数并使用它:

    function endKey($array){
    end($array);
    return key($array);
    }
    
    $array = array("one" => "apple", "two" => "orange", "three" => "pear");
    echo endKey($array);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-29
      • 1970-01-01
      • 2016-08-26
      • 1970-01-01
      • 1970-01-01
      • 2016-09-29
      • 2013-12-01
      • 2012-08-18
      相关资源
      最近更新 更多