【问题标题】:Get nth key of associative php array [duplicate]获取关联php数组的第n个键[重复]
【发布时间】:2015-06-26 13:43:18
【问题描述】:

我想在特定条目处获取关联 PHP 数组的 KEY 值。具体来说,我知道我需要的 KEY 是数组中第二个条目的键。

例子:

$array = array('customer' => 'Joe', 'phone' => '555-555-5555');

我正在构建的是超级动态的,所以我不知道第二个条目将是“电话”。有没有简单的方法来抓住它?

简而言之,(我知道它不起作用,但是...)我正在寻找功能等同于:key($array[1]);

【问题讨论】:

  • 对于关联数组来说这是一个非常不寻常的要求。
  • 问题显示为重复stackoverflow.com/questions/4769148/… 不一样。他要根据索引设置值,我需要根据索引引用键值。

标签: php arrays key associative-array


【解决方案1】:

array_keys 生成数组键的数字数组。

$keys = array_keys($array);
$key = $keys[1];

如果您使用的是 PHP 5.4 或更高版本,则可以使用简写符号:

$key = array_keys($array)[1];

【讨论】:

  • 谢谢。尤其是二线。不知道这个快捷方式。它可以工作,但不幸的是,我的 DW CS5.5 错误检查不喜欢它。
  • 哎呀,我一直在用 reset(array) 然后 key(array),这个方法要容易得多。简单的事情被忽略了。
  • array_keys 将生成所有密钥的完整副本。在长数组上效率非常低。
  • @FrancescoMM,你有一个很长的关联数组吗?这可能是代码的味道。另一种选择是遍历你的数组,但如果你真的想通过整数引用你的关联数组,你需要创建一个新的结构。
  • @FrancescoMM 我没关注你,反转数组从何而来?一般来说,关联数组是一个哈希表,它非常适合索引而不是排序。如果您遇到此处列出的问题以外的新问题,请随时链接到您的问题,但我建议您首先确保使用正确的数据结构。
猜你喜欢
  • 2011-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-23
  • 2023-03-15
  • 1970-01-01
  • 2019-09-11
  • 2018-11-11
  • 1970-01-01
相关资源
最近更新 更多