1--TEST-- 2Test array_filter() function : usage variations - Unexpected values for 'input' argument 3--FILE-- 4<?php 5/* Prototype : array array_filter(array $input [, callback $callback]) 6 * Description: Filters elements from the array via the callback. 7 * Source code: ext/standard/array.c 8*/ 9 10/* Passing different scalar and nonscalar values for 'input' argument 11*/ 12echo "*** Testing array_filter() : usage variations - unexpected values for 'input'***\n"; 13 14/* Callback function 15 * Prototype : bool always_true(array $input) 16 * Parameters : array for which each elements needs to be used in function 17 * Return value : Returns true for each element 18 * Discription : function applied to each element of the passed array and returns true 19 */ 20function always_true($input) 21{ 22 return true; 23} 24 25 26// get an unset variable 27$unset_var = 10; 28unset ($unset_var); 29 30// class definition for object variable 31class MyClass 32{ 33 public function __toString() 34 { 35 return "object"; 36 } 37} 38 39// resource variable 40$fp = fopen(__FILE__, 'r'); 41 42// different values for 'input' argument 43$input_values = array( 44 45 // int data 46/*1*/ 0, 47 1, 48 12345, 49 -2345, 50 51 // float data 52/*5*/ 10.5, 53 -10.5, 54 12.3456789000e10, 55 12.3456789000E-10, 56 .5, 57 58 59 // null data 60/*10*/ NULL, 61 null, 62 63 // boolean data 64/*12*/ true, 65 false, 66 TRUE, 67 FALSE, 68 69 // empty data 70/*16*/ "", 71 '', 72 73 // string data 74/*18*/ "string", 75 'string', 76 77 // object data 78/*20*/ new MyClass(), 79 80 // resource data 81 $fp, 82 83 // undefined data 84 @$undefined_var, 85 86 // unset data 87/*23*/ @$unset_var, 88); 89 90// loop through each element of the array for input 91for($count = 0; $count < count($input_values); $count++) { 92 echo "-- Iteration ".($count + 1)." --\n"; 93 var_dump( array_filter($input_values[$count],"always_true") ); 94}; 95 96// closing resource 97fclose($fp); 98 99echo "Done" 100?> 101--EXPECTF-- 102*** Testing array_filter() : usage variations - unexpected values for 'input'*** 103-- Iteration 1 -- 104 105Warning: array_filter() expects parameter 1 to be array, integer given in %s on line %d 106NULL 107-- Iteration 2 -- 108 109Warning: array_filter() expects parameter 1 to be array, integer given in %s on line %d 110NULL 111-- Iteration 3 -- 112 113Warning: array_filter() expects parameter 1 to be array, integer given in %s on line %d 114NULL 115-- Iteration 4 -- 116 117Warning: array_filter() expects parameter 1 to be array, integer given in %s on line %d 118NULL 119-- Iteration 5 -- 120 121Warning: array_filter() expects parameter 1 to be array, float given in %s on line %d 122NULL 123-- Iteration 6 -- 124 125Warning: array_filter() expects parameter 1 to be array, float given in %s on line %d 126NULL 127-- Iteration 7 -- 128 129Warning: array_filter() expects parameter 1 to be array, float given in %s on line %d 130NULL 131-- Iteration 8 -- 132 133Warning: array_filter() expects parameter 1 to be array, float given in %s on line %d 134NULL 135-- Iteration 9 -- 136 137Warning: array_filter() expects parameter 1 to be array, float given in %s on line %d 138NULL 139-- Iteration 10 -- 140 141Warning: array_filter() expects parameter 1 to be array, null given in %s on line %d 142NULL 143-- Iteration 11 -- 144 145Warning: array_filter() expects parameter 1 to be array, null given in %s on line %d 146NULL 147-- Iteration 12 -- 148 149Warning: array_filter() expects parameter 1 to be array, boolean given in %s on line %d 150NULL 151-- Iteration 13 -- 152 153Warning: array_filter() expects parameter 1 to be array, boolean given in %s on line %d 154NULL 155-- Iteration 14 -- 156 157Warning: array_filter() expects parameter 1 to be array, boolean given in %s on line %d 158NULL 159-- Iteration 15 -- 160 161Warning: array_filter() expects parameter 1 to be array, boolean given in %s on line %d 162NULL 163-- Iteration 16 -- 164 165Warning: array_filter() expects parameter 1 to be array, string given in %s on line %d 166NULL 167-- Iteration 17 -- 168 169Warning: array_filter() expects parameter 1 to be array, string given in %s on line %d 170NULL 171-- Iteration 18 -- 172 173Warning: array_filter() expects parameter 1 to be array, string given in %s on line %d 174NULL 175-- Iteration 19 -- 176 177Warning: array_filter() expects parameter 1 to be array, string given in %s on line %d 178NULL 179-- Iteration 20 -- 180 181Warning: array_filter() expects parameter 1 to be array, object given in %s on line %d 182NULL 183-- Iteration 21 -- 184 185Warning: array_filter() expects parameter 1 to be array, resource given in %s on line %d 186NULL 187-- Iteration 22 -- 188 189Warning: array_filter() expects parameter 1 to be array, null given in %s on line %d 190NULL 191-- Iteration 23 -- 192 193Warning: array_filter() expects parameter 1 to be array, null given in %s on line %d 194NULL 195Done 196