php - 获取关联数组的数字索引

新手上路,请多包涵

我有一个关联数组,我需要找到一个键的数字位置。我可以手动循环遍历数组来找到它,但是有没有更好的方法构建到 PHP 中?

 $a = array(
  'blue'   => 'nice',
  'car'    => 'fast',
  'number' => 'none'
);

// echo (find numeric index of $a['car']); // output: 1

原文由 n00b 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 357
2 个回答
echo array_search("car",array_keys($a));

原文由 Fosco 发布,翻译遵循 CC BY-SA 2.5 许可协议

使用 array_search 的解决方案会非常繁重,在这种情况下没有必要使用直接搜索。

更好的解决方案是:

 $keyIndexOfWhichYouAreTryingToFind = 'c';
$array = [
    'a' => 'b',
    'c' => 'd'
];
$index = array_flip(array_keys($array))[$keyIndexOfWhichYouAreTryingToFind];

这种类型的搜索在大数组上会有更好的性能。

原文由 nojitsi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题