123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- --TEST--
- Test array_search() function : usage variations - different haystack values
- --FILE--
- <?php
- /*
- * Prototype : mixed array_search ( mixed $needle, array $haystack [, bool $strict] )
- * Description: Searches haystack for needle and returns the key if it is found in the array, FALSE otherwise
- * Source Code: ext/standard/array.c
- */
- /* Test array_search() with different possible haystack values */
- echo "*** Testing array_search() with different haystack values ***\n";
- $misc_array = array (
- 'a',
- 'key' =>'d',
- 3,
- ".001" =>-67,
- "-.051" =>"k",
- 0.091 =>"-.08",
- "e" =>"5",
- "y" =>NULL,
- NULL =>"",
- 0,
- TRUE,
- FALSE,
- -27.39999999999,
- " ",
- "abcd\x00abcd\x00\abcd\x00abcdefghij",
- "abcd\nabcd\tabcd\rabcd\0abcd"
- );
- $array_type = array(TRUE, FALSE, 1, 0, -1, "1", "0", "-1", NULL, array(), "PHP", "");
- /* loop to do loose and strict type check of elements in
- $array_type on elements in $misc_array using array_search();
- checking PHP type comparison tables
- */
- $counter = 1;
- foreach($array_type as $type) {
- echo "-- Iteration $counter --\n";
- //loose type checking
- var_dump( array_search($type,$misc_array ) );
- //strict type checking
- var_dump( array_search($type,$misc_array,true) );
- //loose type checking
- var_dump( array_search($type,$misc_array,false) );
- $counter++;
- }
- echo "Done\n";
- ?>
- --EXPECTF--
- *** Testing array_search() with different haystack values ***
- -- Iteration 1 --
- int(0)
- int(3)
- int(0)
- -- Iteration 2 --
- string(1) "y"
- int(4)
- string(1) "y"
- -- Iteration 3 --
- int(3)
- bool(false)
- int(3)
- -- Iteration 4 --
- string(3) "key"
- int(2)
- string(3) "key"
- -- Iteration 5 --
- int(3)
- bool(false)
- int(3)
- -- Iteration 6 --
- int(3)
- bool(false)
- int(3)
- -- Iteration 7 --
- int(2)
- bool(false)
- int(2)
- -- Iteration 8 --
- int(3)
- bool(false)
- int(3)
- -- Iteration 9 --
- string(1) "y"
- string(1) "y"
- string(1) "y"
- -- Iteration 10 --
- string(1) "y"
- bool(false)
- string(1) "y"
- -- Iteration 11 --
- int(2)
- bool(false)
- int(2)
- -- Iteration 12 --
- string(1) "y"
- string(0) ""
- string(1) "y"
- Done
|