PHP如果in_array()如何获得密钥?
挣扎着一个小问题。
我有一个数组:
Array ( [0] => [6] => 6 [3] => 5 [2] => 7 )
我正在检查一个设置值是否在数组中。
if(in_array(5, $array)) { //do something } else { // do something else }
事情是,当它在数组中find值5时,我真的需要在我的“做某事”中使用密钥。
在这种情况下,我需要设置:
$key = 3;
(从find的值in_array键)。
有什么build议么?
array_search()
是你在找什么。
if (false !== $key = array_search(5, $array)) { //do something } else { // do something else }
如果你只需要第一个匹配的键,使用array_search()
:
$key = array_search(5, $array); if ($key !== false) { // Found... }
如果您需要与特定值匹配的所有条目的键,请使用array_keys()
:
$keys = array_keys($array, 5); if (count($keys) > 0) { // At least one match... }
你可以使用这个http://www.php.net/manual/en/function.array-search.php
$key = array_search(5, $array) if ($key !== false) { ...
也许你想要使用array_search,如果没有find该值,则返回false,如果find该值,则返回索引。 看看这里的描述
你可以试试
if(in_array(5, $array)) { $key = array_search(5, $array); echo $key; }
这样你就知道它存在了,如果它不存在,它不会导致通知,警告或致命的脚本错误,这取决于你在那之后用那个键做什么。