Current Location: Home> Latest Articles> PHP array_search() Function Explained: How to Find a Key by Its Value in an Array

PHP array_search() Function Explained: How to Find a Key by Its Value in an Array

M66 2025-06-05

PHP array_search() Function Explained: How to Find a Key by Its Value in an Array

In PHP development, working with arrays is a routine task. When you need to find the key associated with a specific value in an array, the built-in array_search() function provides an efficient solution. This article walks you through its usage, parameters, return values, and hands-on examples.

Function Overview

The array_search() function searches for a given value in an array and returns the corresponding key. If the value occurs more than once, only the first matching key is returned.

Function Syntax

mixed array_search ( mixed $needle , array $haystack [, bool $strict = false ] )

Parameter Details

  • $needle: The value to search for.

  • $haystack: The array to search in.

  • $strict (optional): A Boolean flag for strict comparison. Defaults to false. When set to true, the function also compares data types in addition to values.

Return Values

  • If a match is found, the corresponding key is returned.

  • If not found, false is returned.

Code Example

Here's how array_search() can be used in practice:


<?php
$fruits = array(
    "apple" => "Apple",
    "orange" => "Orange",
    "banana" => "Banana",
    "grape" => "Grape"
);

$search_key = array_search("Orange", $fruits);
echo "The key for 'Orange' is: " . $search_key; // Output: The key for 'Orange' is: orange

$search_key = array_search("Pomelo", $fruits);
if ($search_key === false) {
    echo "No matching value found."; // Output: No matching value found.
}
?>

In this example, we define an associative array named $fruits containing fruit names and their translations. The first search finds "Orange" and returns its key, while the second search for "Pomelo" returns false, which is handled with a conditional statement.

Important Notes

  • Be cautious about data types when using array_search(). If strict mode is enabled, the types must match in addition to the values.

  • If the array contains duplicate values, only the first matching key is returned.

  • To retrieve all matching keys, consider using array_keys() along with array_filter().

Conclusion

The array_search() function is a practical tool in PHP for retrieving the key of a specified value in an array. By understanding how to use it correctly, including its optional strict parameter, developers can write more efficient and robust code when handling arrays.