One-dimensional array search is simple. in_array ()
If the value parameter is a string and the type parameter is set to true, the search area is case sensitive.
The code is as follows: |
Copy code |
<? Php $ People = array ("Peter", "Joe", "Glenn", "Cleveland "); If (in_array ("Glenn", $ people )) { Echo "Match found "; } Else { Echo "Match not found "; } ?> Output: Match found |
Array_key_exists () function
If a specified key is found in an array, the array_key_exists () function returns true; otherwise, false. The format is as follows:
Boolean array_key_exists (mixed key, array );
The following example searches for apple in the array key. If it is found, the color of the fruit is output:
The code is as follows: |
Copy code |
$ Fruit ["apple"] = "red "; $ Fruit ["banana"] = "yellow "; $ Fruit ["pear"] = "green "; If (array_key_exists ("apple", $ fruit )){ Printf ("apple's color is % s", $ fruit ["apple"]); } // Apple's color is red |
Array_search () function
The array_search () function searches for a specified value in an array. If yes, the corresponding key is returned. Otherwise, false is returned. The format is as follows:
Mixed array_search (mixed needle, array haystack [, boolean strict])
The following example searches for a specific date (December 7) in $ fruits. If it is found, information about the corresponding state is returned:
The code is as follows: |
Copy code |
$ Fruits ["apple"] = "red "; $ Fruits ["banana"] = "yellow "; $ Fruits ["watermelon"] = "green "; $ Founded = array_search ("green", $ fruits ); If ($ founded) Printf ("% s was founded on % s.", $ founded, $ fruits [$ founded]); // Watermelon was founded on green. |
Array_keys () function
The array_keys () function returns an array containing all the keys found in the searched array. The format is as follows:
Array array_keys (array [, mixed search_value])
If the optional parameter search_value is included, only the key that matches the value is returned. The following example outputs all the arrays found in the $ fruit array:
The code is as follows: |
Copy code |
$ Fruits ["apple"] = "red "; $ Fruits ["banana"] = "yellow "; $ Fruits ["watermelon"] = "green "; $ Keys = array_keys ($ fruits ); Print_r ($ keys );
// Array ([0] => apple [1] => banana [2] => watermelon) |
Array_values () function
The array_values () function returns all values in an array and automatically provides a numerical index for the returned array. The format is as follows:
Array array_values (array)
The following example gets the values of each element found in $ fruits:
The code is as follows: |
Copy code |
$ Fruits ["apple"] = "red "; $ Fruits ["banana"] = "yellow "; $ Fruits ["watermelon"] = "green "; $ Values = array_values ($ fruits ); Print_r ($ values ); // Array ([0] => red [1] => yellow [2] => green) |
All of the above is a one-dimensional array search. To implement two-dimensional data or multi-dimensional data, we can refer to the following example.
1. Search for the key value of a multi-dimensional array in php
For example:
The code is as follows: |
Copy code |
$ Foo [1] ['A'] ['XX'] = 'bar 1 '; $ Foo [1] ['B'] ['XX'] = 'bar 2 '; $ Foo [2] ['A'] ['BB '] = 'bar 3 '; $ Foo [2] ['A'] ['yy'] = 'bar 4 '; $ Foo [3] ['c'] ['DD'] = 'bar 3 '; $ Foo [3] ['F'] ['GG '] = 'bar 3 '; $ Foo ['info'] [1] = 'bar 5 '; How can I find bar 3. There are three results, and all three results are required. Let's look at the following function: Bytes ------------------------------------------------------------------------------------------------------------------------------- Function array_search_re ($ needle, $ haystack, $ a = 0, $ nodes_temp = array ()){ Global $ nodes_found; $ A ++; Foreach ($ haystack as $ key1 => $ value1 ){ $ Nodes_temp [$ a] = $ key1; If (is_array ($ value1 )){ Array_search_re ($ needle, $ value1, $ a, $ nodes_temp ); } Else if ($ value1 ===$ needle ){ $ Nodes_found [] = $ nodes_temp; } } Return $ nodes_found; } Else --------------------------------------------------------------------------------------------------------------------------------- This function can return all the content to be found above to the output key name. $ Result = array_search_re ('Bar 3', $ foo ); Print_r ($ result ); The output result is as follows: Array ([0] => Array ([1] => 2 [2] => a [3] => bb) [1] => Array ([1] => 3 [2] => c [3] => dd) [2] => Array ([1] => 3 [2] => f [3] => gg) ) |
Php search for the key name of a multi-dimensional array
The code is as follows: |
Copy code |
Function array_search_key ($ needle, $ haystack ){ Global $ nodes_found; Foreach ($ haystack as $ key1 => $ value1 ){ If ($ key1 ===$ needle ){ $ Nodes_found [] = $ value1; } If (is_array ($ value1 )){ Array_search_key ($ needle, $ value1 ); } } Return $ nodes_found; } $ Result = array_search_key ('A', $ foo ); Print_r ($ result ); The output result is as follows: Array ( [0] => Array ( [Xx] => bar 1 ) [1] => Array ( [Bb] => bar 3 ) [2] => Array ( [Yy] => bar 4 ) ) |