Annotation of embedaddon/php/ext/standard/tests/array/array_search_variation4.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test array_search() function : usage variations - haystack as resource/multi dimentional array
! 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 Resources */
! 12: echo "*** Testing resource type with array_search() ***\n";
! 13: //file type resource
! 14: $file_handle = fopen(__FILE__, "r");
! 15:
! 16: //directory type resource
! 17: $dir_handle = opendir( dirname(__FILE__) );
! 18:
! 19: //store resources in array for comparision.
! 20: $resources = array($file_handle, $dir_handle);
! 21:
! 22: // search for resouce type in the resource array
! 23: var_dump( array_search($file_handle, $resources, true) );
! 24: //checking for (int) type resource
! 25: var_dump( array_search((int)$dir_handle, $resources, true) );
! 26:
! 27: /* Miscellenous input check */
! 28: echo "\n*** Testing miscelleneos inputs with array_search() ***\n";
! 29: //matching "Good" in array(0,"hello"), result:true in loose type check
! 30: var_dump( array_search("Good", array(0,"hello")) );
! 31: //false in strict mode
! 32: var_dump( array_search("Good", array(0,"hello"), TRUE) );
! 33:
! 34: //matching integer 0 in array("this"), result:true in loose type check
! 35: var_dump( array_search(0, array("this")) );
! 36: // false in strict mode
! 37: var_dump( array_search(0, array("this")),TRUE );
! 38:
! 39: //matching string "this" in array(0), result:true in loose type check
! 40: var_dump( array_search("this", array(0)) );
! 41: // false in stric mode
! 42: var_dump( array_search("this", array(0), TRUE) );
! 43:
! 44: //checking for type FALSE in multidimensional array with loose checking, result:false in loose type check
! 45: var_dump( array_search(FALSE,
! 46: array("a"=> TRUE, "b"=> TRUE,
! 47: array("c"=> TRUE, "d"=>TRUE)
! 48: )
! 49: )
! 50: );
! 51:
! 52: //matching string having integer in beginning, result:true in loose type check
! 53: var_dump( array_search('123abc', array(123)) );
! 54: var_dump( array_search('123abc', array(123), TRUE) ); // false in strict mode
! 55:
! 56: echo "Done\n";
! 57: ?>
! 58: --EXPECTF--
! 59: *** Testing resource type with array_search() ***
! 60: int(0)
! 61: bool(false)
! 62:
! 63: *** Testing miscelleneos inputs with array_search() ***
! 64: int(0)
! 65: bool(false)
! 66: int(0)
! 67: int(0)
! 68: bool(true)
! 69: int(0)
! 70: bool(false)
! 71: bool(false)
! 72: int(0)
! 73: bool(false)
! 74: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>