当您在PHP中知道其值时,是否有快速返回密钥的方法?
例如,如果你有:
$Numbers = (object) array ( "0" => 0, "1" => 1, "2" => 3, "3" => 7, "4" => 13 );
有办法回归:
echo re(13); // Print 4
我能想到的一种方法是专门为此建立一个功能,但我想知道是否有更好的方法。
答案 0 :(得分:7)
答案 1 :(得分:3)
正如其他几位人士所说,array_search
做了你所要求的。但是如果你想要一个包含值而不是第一个键的所有键的数组,你可以使用array_keys
。
print_r(array_keys($Numbers, 13)); // print Array ( [0] => 4 )
答案 2 :(得分:2)
echo array_search($valToSearch, (array) $Numbers);
答案 3 :(得分:2)
如果您确定自己拥有唯一的密钥:
$flipped = array_flip($array);
$key = $flipped[$knownValue];
return $key;
否则,请使用array_search:
return array_search($knownValue, $array);
如果您执行大量查找并且具有唯一值,则第一种方法可能会更好。第二种方法在多个值的情况下返回第一个匹配键。
答案 4 :(得分:1)