【问题标题】:Retrieve first key with array_search and same value使用 array_search 和相同的值检索第一个键
【发布时间】:2021-08-01 21:38:17
【问题描述】:

我需要检索使用 array_search 搜索的数组中的第一个键。

如果我试试这个:

$a=array("Value3"=>"red","Value2"=>"green","Value3"=>"pink","Value4"=>"blue");
echo array_search("red",$a);

我收到一个空回声,但预期:Value3

如果我试试这个:

$a=array("Value3"=>"red","Value2"=>"green","Value3"=>"pink","Value4"=>"blue");
echo array_search("pink",$a);

我收到:Value3

有人可以帮助我吗?谢谢

【问题讨论】:

  • 关联数组中的每个键都必须是unique

标签: php arrays search


【解决方案1】:

您在数组中定义了两次 Value3,因此您的数组实际上包含 array("Value2"=>"green","Value3"=>"pink","Value4"=>"blue");

只需将其更改为 $a=array("Value1"=>"red","Value2"=>"green","Value3"=>"pink","Value4"= >“蓝色”);

【讨论】:

  • 我无法更改值。这是一个翻译功能,偶尔使用相同的键但不同的值。我正在寻找是否有一种方法可以显示找到的第一个结果。否则我将不得不完全重写我用作字典的函数和文件。
  • 如果你有一个像$a=array("Value3"=>"red","Value2"=>"green","Value3"=>"pink","Value4"=>"blue"); 这样定义的数组,那么php 将简单地删除"Value3"=>"red" 对并且你不能访问它,因为它不再存在了
  • 我同意@RomanAzarov。 red 将被pink 覆盖,red 将不再存在于$a 中,普遍规律是您无法访问不存在的内容。
猜你喜欢
  • 1970-01-01
  • 2020-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-28
  • 2020-09-30
  • 1970-01-01
相关资源
最近更新 更多