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