Return to array_search_variation3.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / array |
1.1 misho 1: --TEST-- 2: Test array_search() function : usage variations - haystack as sub-array/object 3: --FILE-- 4: <?php 5: /* 6: * Prototype : mixed array_search ( mixed $needle, array $haystack [, bool $strict] ) 7: * Description: Searches haystack for needle and returns the key if it is found in the array, FALSE otherwise 8: * Source Code: ext/standard/array.c 9: */ 10: 11: /* checking for sub-arrays with array_search() */ 12: echo "*** Testing sub-arrays with array_search() ***\n"; 13: $sub_array = array ( 14: "one", 15: array(1, 2 => "two", "three" => 3), 16: 4 => "four", 17: "five" => 5, 18: array('', 'i') 19: ); 20: var_dump( array_search("four", $sub_array) ); 21: //checking for element in a sub-array 22: var_dump( array_search(3, $sub_array[1]) ); 23: var_dump( array_search(array('','i'), $sub_array) ); 24: 25: /* checking for objects in array_search() */ 26: echo "\n*** Testing objects with array_search() ***\n"; 27: class array_search_check { 28: public $array_var = array(1=>"one", "two"=>2, 3=>3); 29: public function foo() { 30: echo "Public function\n"; 31: } 32: } 33: 34: $array_search_obj = new array_search_check(); //creating new object 35: //error: as wrong datatype for second argument 36: var_dump( array_search("array_var", $array_search_obj) ); 37: //error: as wrong datatype for second argument 38: var_dump( array_search("foo", $array_search_obj) ); 39: //element found as "one" exists in array $array_var 40: var_dump( array_search("one", $array_search_obj->array_var) ); 41: 42: echo "Done\n"; 43: ?> 44: --EXPECTF-- 45: *** Testing sub-arrays with array_search() *** 46: int(4) 47: string(5) "three" 48: int(5) 49: 50: *** Testing objects with array_search() *** 51: 52: Warning: array_search() expects parameter 2 to be array, object given in %s on line %d 53: NULL 54: 55: Warning: array_search() expects parameter 2 to be array, object given in %s on line %d 56: NULL 57: int(1) 58: Done