【问题标题】:Get the first key in an associative array获取关联数组中的第一个键
【发布时间】:2013-04-23 02:55:12
【问题描述】:

我正在尝试在如下所示的关联数组中获取数组的第一个键。我知道我可以使用key,但我读过(在这个网站上),那就是它的效率较低。

所以我使用current(array_keys($data))

还有其他方法吗?当我使用current(array_keys($data)) 时,我总是会得到第一个密钥吗?这就是我害怕的。

我正在使用 php 5.3.18。这是脚本开始的方式。

<?php
$json = '{"user":"norman","city":"san jose","type":"editor"}';

$data = json_decode($json, true);

echo current(array_keys($data));
//Output I need is "user"
?>

【问题讨论】:

  • 在这种情况下,效率真的毫无意义。如果你做数万或数十万个元素,这可能会成为一个问题,但之前不会。做任何让你的代码更具可读性的事情
  • array_keys($data) 创建一个新数组,并将指针设置为第一个元素;所以调用current() 总是会返回第一个条目

标签: php


【解决方案1】:

echo current(array_keys($data)); 是一个漫长的过程,只需使用key

 echo key($data);

注意

$data = json_decode($json, true); 将重置数组...因此无需再次调用reset

【讨论】:

  • Key 保证永远给你第一个?在这种情况下,“用户”
  • $data = json_decode($json, true); 会将该数组重置为第一个元素是的 .. 保证
【解决方案2】:

试试这个代码:

reset($data);
$first_key = key($data);

【讨论】:

    【解决方案3】:

    现在 PHP 7.3 >=

    $firstKey = array_key_first($data);
    

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 2015-06-26
      • 2015-03-03
      • 1970-01-01
      • 2011-10-05
      • 2015-11-14
      • 2011-05-28
      相关资源
      最近更新 更多