1--TEST-- 2mb_ereg() and invalid arguments 3--SKIPIF-- 4<?php if (!function_exists("mb_ereg")) print "skip"; ?> 5--FILE-- 6<?php 7 8$a = array( 9 array(1,2,3), 10 array("", "", ""), 11 array(array(), 1, ""), 12 array(1, array(), ""), 13 array(1, "", array()), 14 ); 15 16foreach ($a as $args) { 17 try { 18 var_dump(mb_ereg($args[0], $args[1], $args[2])); 19 } catch (\TypeError|\ValueError $e) { 20 echo get_class($e) . ': ' . $e->getMessage() . \PHP_EOL; 21 } 22 var_dump($args); 23} 24?> 25--EXPECT-- 26bool(false) 27array(3) { 28 [0]=> 29 int(1) 30 [1]=> 31 int(2) 32 [2]=> 33 array(0) { 34 } 35} 36ValueError: mb_ereg(): Argument #1 ($pattern) must not be empty 37array(3) { 38 [0]=> 39 string(0) "" 40 [1]=> 41 string(0) "" 42 [2]=> 43 string(0) "" 44} 45TypeError: mb_ereg(): Argument #1 ($pattern) must be of type string, array given 46array(3) { 47 [0]=> 48 array(0) { 49 } 50 [1]=> 51 int(1) 52 [2]=> 53 string(0) "" 54} 55TypeError: mb_ereg(): Argument #2 ($string) must be of type string, array given 56array(3) { 57 [0]=> 58 int(1) 59 [1]=> 60 array(0) { 61 } 62 [2]=> 63 string(0) "" 64} 65bool(false) 66array(3) { 67 [0]=> 68 int(1) 69 [1]=> 70 string(0) "" 71 [2]=> 72 array(0) { 73 } 74} 75