AleXzpm AleXzpm - 1 year ago 54
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?

Answer Source

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