1--TEST-- 2Test in_array() function : usage variations - different haystack values 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 different possible haystack values */ 13 14echo "*** Testing in_array() with different haystack values ***\n"; 15$misc_array = array ( 16 'a', 17 'key' =>'d', 18 3, 19 ".001" =>-67, 20 "-.051" =>"k", 21 0.091 =>"-.08", 22 "e" =>"5", 23 "y" =>NULL, 24 NULL =>"", 25 0, 26 TRUE, 27 FALSE, 28 -27.39999999999, 29 " ", 30 "abcd\x00abcd\x00\abcd\x00abcdefghij", 31 "abcd\nabcd\tabcd\rabcd\0abcd" 32); 33$array_type = array(TRUE, FALSE, 1, 0, -1, "1", "0", "-1", NULL, array(), "PHP", ""); 34/* loop to do loose and strict type check of elements in 35 $array_type on elements in $misc_array using in_array(); 36 checking PHP type comparison tables 37*/ 38$counter = 1; 39foreach($array_type as $type) { 40 echo "-- Iteration $counter --\n"; 41 //loose type checking 42 var_dump( in_array($type,$misc_array ) ); 43 //strict type checking 44 var_dump( in_array($type,$misc_array,true) ); 45 //loose type checking 46 var_dump( in_array($type,$misc_array,false) ); 47 $counter++; 48} 49 50echo "Done\n"; 51?> 52--EXPECTF-- 53*** Testing in_array() with different haystack values *** 54-- Iteration 1 -- 55bool(true) 56bool(true) 57bool(true) 58-- Iteration 2 -- 59bool(true) 60bool(true) 61bool(true) 62-- Iteration 3 -- 63bool(true) 64bool(false) 65bool(true) 66-- Iteration 4 -- 67bool(true) 68bool(true) 69bool(true) 70-- Iteration 5 -- 71bool(true) 72bool(false) 73bool(true) 74-- Iteration 6 -- 75bool(true) 76bool(false) 77bool(true) 78-- Iteration 7 -- 79bool(true) 80bool(false) 81bool(true) 82-- Iteration 8 -- 83bool(true) 84bool(false) 85bool(true) 86-- Iteration 9 -- 87bool(true) 88bool(true) 89bool(true) 90-- Iteration 10 -- 91bool(true) 92bool(false) 93bool(true) 94-- Iteration 11 -- 95bool(true) 96bool(false) 97bool(true) 98-- Iteration 12 -- 99bool(true) 100bool(true) 101bool(true) 102Done 103