Backend Development 5 min read

Using PHP's array_search() Function: Basics, Strict Mode, Multidimensional Arrays, and Return Values

This article explains PHP's array_search() function, covering its syntax, basic usage, strict mode type comparison, handling of multidimensional arrays, and return values, providing code examples to help developers efficiently locate values and retrieve keys in arrays.

php中文网 Courses
php中文网 Courses
php中文网 Courses
Using PHP's array_search() Function: Basics, Strict Mode, Multidimensional Arrays, and Return Values

PHP is a widely used scripting language for web development, offering a rich function library; among them, the array_search() function is particularly powerful.

In PHP, array_search() searches an array for a given value and returns the corresponding key. Its basic syntax is:

<code>array_search($needle, $haystack, $strict = false)</code>

Here, $needle is the value to search for, $haystack is the array, and $strict determines whether strict type comparison is enabled (default false). Below we explore its usage.

Basic Usage

The basic usage of array_search() is straightforward: provide the value and the target array. For example:

<code>$arr = array('apple', 'banana', 'orange', 'grape');</code>

To find the position of 'orange' in the array:

<code>// Find the position of 'orange' in the array
$index = array_search('orange', $arr);
echo $index; // Outputs: 2</code>

The function returns 2, noting that array indices start at 0.

Strict Mode

When strict mode is enabled, PHP also compares element types. For instance, searching for the integer 1 in an array containing both integers and numeric strings:

<code>$arr = array(1, 2, '1', '2');</code>

Without strict mode, the string '1' is treated as integer 1, returning position 0. With strict mode, the function returns position 2, the first element whose type matches $needle .

Enable strict mode by passing true as the third argument:

<code>$index = array_search(1, $arr, true);
echo $index; // Outputs: 0</code>

Multidimensional Arrays

array_search() can also be used with multidimensional arrays. Given:

<code>$multiArr = array(
    'fruit' => array('apple', 'banana', 'orange'),
    'color' => array('red', 'yellow', 'orange')
);</code>

To find the key of 'orange' within the 'fruit' sub‑array:

<code>$key = array_search('orange', $multiArr['fruit']);
echo $key; // Outputs: 2</code>

Be aware that nested structures may add complexity when using array_search() .

Return Value

If the search succeeds, the function returns the key of the element; otherwise it returns false . Note that a key of 0 is considered falsy, so a strict type check is required to differentiate.

Summary

The array_search() function is a practical tool in PHP for locating values within arrays and retrieving their keys. Proper use of strict mode and handling of multidimensional arrays can greatly improve development efficiency.

backendPHPStrict Modearray-searchmultidimensional arraysearch function
php中文网 Courses
Written by

php中文网 Courses

php中文网's platform for the latest courses and technical articles, helping PHP learners advance quickly.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.