Home >Backend Development >PHP Problem >Does php two-dimensional array contain one-dimensional array?
When programming in PHP, the use of arrays is often involved. Arrays can be said to be one of the most important and basic data types in PHP, which allow us to reference multiple data items with one variable name. In arrays, two-dimensional arrays are a common form of data structure. They contain multiple arrays as elements and are used to express more complex data structures. When dealing with two-dimensional arrays, we often encounter this problem: How to determine whether a two-dimensional array contains a one-dimensional array?
What is a two-dimensional array?
In PHP, a two-dimensional array refers to an array containing multiple arrays. These arrays can be regarded as a matrix, and each array corresponds to a row or a column. We can define a two-dimensional array through the following code:
$arr = array( array("apple", "orange", "banana"), array("dog", "cat", "bird"), array("red", "green", "blue") );
This two-dimensional array $arr consists of 3 one-dimensional arrays, each one-dimensional array contains 3 elements. We can traverse each element in the two-dimensional array through a double loop, as shown below:
for ($i = 0; $i < count($arr); $i++) { for ($j = 0; $j < count($arr[$i]); $j++) { echo $arr[$i][$j] . " "; } echo "<br>"; }
The execution results are as follows:
apple orange banana dog cat bird red green blue
How to determine whether a two-dimensional array contains a one-dimensional array ?
In actual development, we may need to filter or conditionally filter the elements in the two-dimensional array. If there is a one-dimensional array, we need to determine whether it is contained in a two-dimensional array. We can use the in_array() function in PHP to determine.
The in_array() function can determine whether a given value exists in an array. The format is as follows:
in_array($needle, $haystack, $strict)
Among them, $needle is the value that needs to be found, and $haystack is the array that needs to be found. $strict is an optional parameter, indicating whether strict mode is turned on. If it is not turned on, only the value of the element will be matched, not the type.
We can use the following code to determine whether a one-dimensional array exists in a two-dimensional array:
function search_arr($arr, $search) { foreach ($arr as $key => $value) { if (in_array($search, $value)) { return true; } } return false; }
In this code, the search_arr() function accepts two parameters, $arr is two Dimensional array, $search is the one-dimensional array to be searched. We use a foreach loop to traverse each one-dimensional array in the two-dimensional array, and then use the in_array() function in each one-dimensional array to find the required one-dimensional array. If it is found, it returns true, otherwise it returns false.
The sample code is as follows:
$arr = array( array("apple", "orange", "banana"), array("dog", "cat", "bird"), array("red", "green", "blue") ); $search1 = array("apple", "orange", "banana"); $search2 = array("cat", "dog", "bird"); if (search_arr($arr, $search1)) { echo "存在$search1"; } else { echo "不存在$search1"; } echo "
"; if (search_arr($arr, $search2)) { echo "存在$search2"; } else { echo "不存在$search2"; }
The execution result is:
存在Array 不存在Array
Through the search function search_arr(), we can determine whether a one-dimensional array exists in a two-dimensional array.
Summary
In PHP, a two-dimensional array is a common form of data structure that contains multiple arrays as elements to express more complex data structures. If we need to determine whether a one-dimensional array is contained in a two-dimensional array, we can use the in_array() function to determine. In actual development, using two-dimensional arrays and the in_array() function can better handle data structures and perform operations such as data filtering and filtering.
The above is the detailed content of Does php two-dimensional array contain one-dimensional array?. For more information, please follow other related articles on the PHP Chinese website!