array_search

FunctionParams and return types changed in PHP 8.0

Searches the array for a given value and returns the first corresponding key if successful.

PHP 5
PHP 7
PHP 8.0
Improved
PHP 8.1
PHP 8.2-8.3
PHP 8.4
PHP 8.5
PHP 8.6

array_search Function synopsis

array_search(
    mixed $needle,
    array $haystack,
    bool $strict = false
  ): string|int|false

Parameters

$needle

Typemixed

The searched value.

$haystack

Typearray

The array.

$strict

OptionalTypeboolDefault valuefalse

If the third parameter $strict is set to true then the array_search function will search for identical elements in the $haystack. This means it will also perform a strict type comparison of the $needle in the $haystack, and objects must be the same instance.

Return value

Typestring|int|false

Returns the key for $needle if it is found in the array, false otherwise.

If $needle is found in $haystack more than once, the first matching key is returned. To return the keys for all matching values, use array_keys with the optional $filter_value parameter instead.

Changes to the array_search Function

PHP 8.0

  • Return type added: string|int|false
  • Parameter type added for parameter #1 ($needle): mixed
  • Parameter type added for parameter #2 ($haystack): array
  • Parameter type added for parameter #3 ($strict): bool
  • Parameter default value added for position #3 ($strict): false
  array_search(
-     $needle,
+     mixed $needle,
-     $haystack,
+     array $haystack,
-     $strict
+     bool $strict = false
-   )
+   ): string|int|false

array_search Function Availability

PHP VersionAvailability
PHP 8.6Upcoming Release Yes
PHP 8.5Supported (Latest) Yes
PHP 8.4Supported Yes
PHP 8.3Security-Fixes Only Yes
PHP 8.2Security-Fixes Only Yes
PHP 8.1Unsupported Yes
PHP 8.0Unsupported Yes
PHP 7.4Unsupported Yes
PHP 7.3Unsupported Yes
PHP 7.2Unsupported Yes
PHP 7.1Unsupported Yes
PHP 7.0Unsupported Yes
PHP 5.6Unsupported Yes
PHP 5.5Unsupported Yes
PHP 5.4Unsupported Yes
PHP 5.3Unsupported Yes