1--TEST-- 2Test preg_match() function : error conditions - wrong arg types 3--FILE-- 4<?php 5/* 6 * proto int preg_match(string pattern, string subject [, array subpatterns [, int flags [, int offset]]]) 7 * Function is implemented in ext/pcre/php_pcre.c 8*/ 9error_reporting(E_ALL&~E_NOTICE); 10/* 11* Testing how preg_match reacts to being passed the wrong type of subject argument 12*/ 13echo "*** Testing preg_match() : 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_match($regex, $value)); 19} 20$value = new stdclass(); //Object 21var_dump(preg_match($regex, $value)); 22echo "Done"; 23?> 24--EXPECTF-- 25 26*** Testing preg_match() : error conditions *** 27 28Arg value is: this is a string 29int(1) 30 31Arg value is: Array 32 33Warning: preg_match() expects parameter 2 to be string, array given in %spreg_match_error2.php on line %d 34bool(false) 35 36Warning: preg_match() expects parameter 2 to be string, object given in %spreg_match_error2.php on line %d 37bool(false) 38Done