In php, simple data search is simple. you can use the in_array () function to search for a given value in the array. this is a simple one-dimensional data, for example, the following code: & lt ;? Php $ learn learray (& quot;
In php, simple data search is simple. you can use the in_array () function to search for a given value in the array. this is a simple one-dimensional data, for example, the following code:
-
- $ 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, the function returns false in the following format:
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:
- $ Fruit ["apple"] = "red ";
- $ Fruit ["banana"] = "yellow ";
- $ Fruit ["pear"] = "green ";
- If (array_key_exists ("apple", $ fruit )){
- Printf ("apple's color is % s", $ fruit ["apple"]);
- }
The result of executing this code: apple's color is red
Array_search () function,The code is as follows:
- $ 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])
Array_keys () function,The code is as follows:
- $ Fruits ["apple"] = "red ";
- $ Fruits ["banana"] = "yellow ";
- $ Fruits ["watermelon"] = "green ";
- $ Keys = array_keys ($ fruits );
- Print_r ($ keys );
The above methods can only search for one-dimensional data. if it is multi-dimensional data, there is no way, php searches for the key value of multi-dimensional arrays, as shown in the following example:
- $ 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 ';
If you want to find bar 3, how can you find it? there are three results, and all three results are required. See the following function:
- 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;
- }
This function returns the output key name for all the content to be searched. the code is as follows:
- $ 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 searches for the key name of a multi-dimensional array,The code is as follows:
- 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
- )
- )
Multi-dimensional data search can be implemented through traversal.