1--TEST-- 2Test preg_grep() function : error conditions - wrong arg types 3--FILE-- 4<?php 5/* 6* proto array preg_grep(string regex, array input [, int flags]) 7* Function is implemented in ext/pcre/php_pcre.c 8*/ 9error_reporting(E_ALL&~E_NOTICE); 10/* 11* Testing how preg_grep reacts to being passed the wrong type of input argument 12*/ 13echo "*** Testing preg_grep() : error conditions ***\n"; 14$regex = '/[a-zA-Z]/'; 15$input = array('this is a string', array('this is', 'a subarray'),); 16foreach($input as $value) { 17 print "\nArg value is: $value\n"; 18 var_dump(preg_grep($regex, $value)); 19} 20$value = new stdclass(); //Object 21var_dump(preg_grep($regex, $value)); 22echo "Done"; 23?> 24--EXPECTF-- 25*** Testing preg_grep() : error conditions *** 26 27Arg value is: this is a string 28 29Warning: preg_grep() expects parameter 2 to be array, string given in %spreg_grep_error2.php on line %d 30NULL 31 32Arg value is: Array 33array(2) { 34 [0]=> 35 string(7) "this is" 36 [1]=> 37 string(10) "a subarray" 38} 39 40Warning: preg_grep() expects parameter 2 to be array, object given in %spreg_grep_error2.php on line %d 41NULL 42Done