in_array() on multidimensional array

Solution 1:

Using in_array search for values, but in your code Peter is a key. Then you can use array_key_exists instead:

$people = array(
    "Peter" => array (
        "test" => 0
    ),
    "Joe"
);

if (array_key_exists("Peter", $people))
{
    echo "Match found";
}
else
{
    echo "Match not found";
}

Output

Match found

you can combine both since the name you're searching is sometimes the value like "Joe" in your example.

if (array_key_exists("Peter", $people) || in_array("Peter", $people)) {
    echo "Match found";
} else {
    echo "Match not found";
}