AleXzpm AleXzpm - 7 months ago 23
PHP Question

return key of array if value is present PHP

What is the fastest way to check if a variable is present in an array as its value and return the key of it?


$myArray = [ "test" => 1, "test2" = 2, "test3" = 3];

$var = [1,6,7,8,9];

What I need is
if($var is in $myArray) return (in this case)

Is this possible without doing two loops?
Are there any functions like
that returns the key of the value if found?


You can use array_search

foreach($var as $value)
    $key = array_search($value, $myArray);
    if($key === FALSE)
        //Not Found
        //$key contains the index you want

Be careful, if the value is not found the function will return false but it may also return a value that can be treated the same way as false, like 0 on a zero based array so it's best to use the === operator as shown in my example above

Check the documentation for more