Home > Article > Backend Development > Searching an array using PHP in_array() function
Array search in PHP is an operation that developers often need to perform. One of the commonly used functions is the in_array() function. It can search for specified elements in an array and return the corresponding results. Below, we will detail how to use the in_array() function to search an array.
The in_array() function is used to search for specified elements in an array. It takes two parameters: search element and array. Its syntax is as follows:
in_array($needle, $haystack, $strict);
$needle is the element to be found, $haystack is the array to search, and $strict is the Select parameter to indicate whether to enable type checking. By default, $strict is false, which means type checking is not enabled.
The return value of the in_array() function is a Boolean value. If $needle is found in $haystack, it returns true, otherwise it returns false.
The following is a simple example of using the in_array() function, which will search an array to see if it contains the specified element:
$fruits = array('apple', 'banana', 'orange', 'grape');
if (in_array('apple', $fruits)) {
echo 'The apple is in the fruits array';
} else {
echo 'The apple is not in the fruits array';
}
In this example, we declare an array named $fruits, which contains four string elements: apple, banana, orange and grape. We then use the in_array() function to search the array to see if it contains the string "apple".
If the array $fruits contains the element "apple", the function will return true and output "The apple is in the fruits array". Otherwise, it returns false and prints "The apple is not in the fruits array".
As mentioned earlier, the third parameter $strict of the in_array() function is an optional parameter and is used to enable type checking. If set to true, the function will check whether the data types of the $needle and $haystack elements match. For example, the following code will enable type checking:
$numbers = array(1, 2, 3);
if (in_array('2', $numbers, true)) {
echo 'The number 2 is in the numbers array';
} else {
echo 'The number 2 is not in the numbers array';
}
In this example, we declare an array named $numbers, which contains three integer elements: 1, 2 and 3. We then use the in_array() function again to search the array, but this time we set true in the third parameter to enable type checking.
In the second parameter, we searched for a string "2". Since type checking is enabled, the function checks whether the types of the search element $needle and the array element $haystack match. However, since the integer type and the string type do not match, the function returns false and prints "The number 2 is not in the numbers array".
Sometimes, we need to search multi-dimensional arrays. In this case, we can use a foreach loop to search each sub-array one by one until the required element is found. The following is an example of searching a multidimensional array:
$students = array(
array('name' => 'Mike', 'age' => 20), array('name' => 'John', 'age' => 22), array('name' => 'Emma', 'age' => 21)
);
foreach ($students as $student) {
if (in_array('Mike', $student)) { echo 'Mike is one of the students'; break; }
}
In this example, we declare a multi-dimensional array named $students, where each sub-array represents a student. Each student has a name and an age. We then use a foreach loop to search for each student until we find the student named "Mike".
If such a student is found, the function will output "Mike is one of the students" and use the break statement to jump out of the loop. Otherwise, the function will continue searching until the end of the loop.
In short, the in_array() function is a very useful function in PHP arrays, which can quickly determine whether an element exists in an array. It can very conveniently help us solve practical problems and speed up our development work.
The above is the detailed content of Searching an array using PHP in_array() function. For more information, please follow other related articles on the PHP Chinese website!