Ale*_*zpm 4 php arrays optimization
检查变量是否作为其值存在于数组中并返回其键的最快方法是什么?
例子:
$myArray = [ "test" => 1, "test2" = 2, "test3" = 3];
$var = [1,6,7,8,9];
Run Code Online (Sandbox Code Playgroud)
我需要的是if($var is in $myArray) return (in this case)“测试”。
这可以不做两个循环吗?是否有类似的函数in_array()返回值的键(如果找到)?
您可以使用array_search
foreach($var as $value)
{
$key = array_search($value, $myArray);
if($key === FALSE)
{
//Not Found
}
else
{
//$key contains the index you want
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,如果未找到该值,该函数将返回false,但它也可能返回一个可以以与 false 相同的方式处理的值,例如基于零的数组上的 0,因此最好使用运算符,===如上面的示例所示
检查文档了解更多信息