}
?>
---EXPECT--
+--EXPECTF--
+Deprecated: Function create_function() is deprecated in %s on line %d
int(0)
int(0)
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(1)
int(1)
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(2)
int(2)
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(3)
int(3)
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(4)
int(4)
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(5)
int(5)
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(6)
int(6)
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(7)
int(7)
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(8)
int(8)
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(9)
int(9)
var_dump($arr[$test(0)]() == $arr);
?>
---EXPECT--
+--EXPECTF--
+Deprecated: Function create_function() is deprecated in %s on line %d
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(2)
bool(true)
}
?>
---EXPECT--
+--EXPECTF--
+Deprecated: Function create_function() is deprecated in %s on line %d
bool(true)
?>
--EXPECTF--
+Deprecated: Function create_function() is deprecated in %s on line %d
ParseError: syntax error, unexpected '}', expecting end of file in %sbug48693.php(4) : runtime-created function:1
Stack trace:
#0 %sbug48693.php(4): create_function('', 'return 1; }')
#1 {main}
+
+Deprecated: Function create_function() is deprecated in %s on line %d
+
+Deprecated: Function create_function() is deprecated in %s on line %d
ParseError: syntax error, unexpected end of file in %sbug48693.php(14) : runtime-created function:1
Stack trace:
#0 %sbug48693.php(14): create_function('', '{')
#1 {main}
+
+Deprecated: Function create_function() is deprecated in %s on line %d
int(2)
int(3)
var_dump($a(2)->__invoke(4));
?>
---EXPECT--
+--EXPECTF--
+Deprecated: Function create_function() is deprecated in %s on line %d
int(8)
--EXPECTHEADERS--
Content-type: text/html; charset=UTF-8
--EXPECTF--
+Deprecated: Function create_function() is deprecated in %s on line %d
+
Fatal error: Uncaught AssertionError: assert(false) in %sexception_012.php(%d) : runtime-created function:%d
Stack trace:
#0 %sexception_012.php(%d) : runtime-created function(%d): assert(false, 'assert(false)')
--EXPECTF--
bool(true)
bool(true)
+
+Deprecated: Function create_function() is deprecated in %s on line %d
bool(true)
bool(true)
bool(false)
ZEND_FE(get_declared_interfaces, arginfo_zend__void)
ZEND_FE(get_defined_functions, arginfo_zend__void)
ZEND_FE(get_defined_vars, arginfo_zend__void)
- ZEND_FE(create_function, arginfo_create_function)
+ ZEND_DEP_FE(create_function, arginfo_create_function)
ZEND_FE(get_resource_type, arginfo_get_resource_type)
ZEND_FE(get_resources, arginfo_get_resources)
ZEND_FE(get_loaded_extensions, arginfo_get_loaded_extensions)
create_function('', 'var_dump("22");');
a();
---EXPECT--
+--EXPECTF--
+Deprecated: Function create_function() is deprecated in %s on line %d
okey
var_dump(preg_replace_callback('~\A.~', 'g', array(array('xyz'))));
-var_dump(preg_replace_callback('~\A.~', create_function('$m', 'return strtolower($m[0]);'), 'ABC'));
+var_dump(preg_replace_callback('~\A.~', function($m) { return strtolower($m[0]); }, 'ABC'));
?>
--EXPECTF--
array(3) {
'/d/' => array("Foo", "rep"),
"/c/" => new Rep,
"/a/" => 'b',
- "/b/" => create_function('$a', 'return "ok";')), 'a', -1, $count));
+ "/b/" => function($a) { return "ok"; }), 'a', -1, $count));
var_dump($count);
?>
spl_autoload_register('f1');
spl_autoload_register('f2');
-spl_autoload_register(create_function('$class', 'echo "cf1: [[$class]]\n";'));
-spl_autoload_register(create_function('$class', 'echo "cf2: [[$class]]\n";'));
+spl_autoload_register(function($class) { echo "cf1: [[$class]]\n"; });
+spl_autoload_register(function($class) { echo "cf2: [[$class]]\n"; });
foreach (spl_autoload_functions() AS $func)
{
// anonymous callback function
echo "Anonymous callback function with regular parameter and statement\n";
-var_dump( array_filter($input, create_function('$input', 'return ($input > 1);') ) );
+var_dump( array_filter($input, function($input) { return ($input > 1); }) );
// anonymous callback function with reference
echo "Anonymous callback function with reference parameter\n";
-var_dump( array_filter($input, create_function('&$input', 'return ($input < 1);') ) );
+var_dump( array_filter($input, function(&$input) { return ($input < 1); }) );
// anonymous callback function with null argument
echo "Anonymous callback funciton with null argument\n";
-var_dump( array_filter($input, create_function(null, 'return true;') ) );
+var_dump( array_filter($input, function() { return true; }) );
// anonymous callback function with argument and null statement
echo "Anonymous callback function with regular argument and null statement\n";
-var_dump( array_filter($input, create_function('$input', null) ) );
+var_dump( array_filter($input, function($input) { }) );
echo "Done"
?>
$array2 = array(3, 4, 5);
echo "-- anonymous function with all parameters and body --\n";
-var_dump( array_map( create_function('$a, $b', 'return array($a, $b);'), $array1, $array2));
+var_dump( array_map( function($a, $b) { return array($a, $b); }, $array1, $array2));
echo "-- anonymous function with two parameters and passing one array --\n";
try {
- var_dump( array_map( create_function('$a, $b', 'return array($a, $b);'), $array1));
+ var_dump( array_map( function($a, $b) { return array($a, $b); }, $array1));
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
echo "-- anonymous function with NULL parameter --\n";
-var_dump( array_map( create_function(NULL, 'return NULL;'), $array1));
+var_dump( array_map( function() { return NULL; }, $array1));
echo "-- anonymous function with NULL body --\n";
-var_dump( array_map( create_function('$a', NULL), $array1));
+var_dump( array_map( function($a) { }, $array1));
echo "-- passing NULL as 'arr1' --\n";
-var_dump( array_map( create_function('$a', 'return array($a);'), NULL));
+var_dump( array_map( function($a) { return array($a); }, NULL));
echo "Done";
?>
}
}
-- anonymous function with two parameters and passing one array --
-Exception: Too few arguments to function __lambda_func(), 1 passed and exactly 2 expected
+Exception: Too few arguments to function {closure}(), 1 passed and exactly 2 expected
-- anonymous function with NULL parameter --
array(3) {
[0]=>
$input = array( array(2, 5), array(10, 0));
echo "-- Anonymous function with one argument --\n";
-var_dump( array_walk_recursive($input, create_function('$value', 'var_dump($value); echo "\n";')));
+var_dump( array_walk_recursive($input, function($value) { var_dump($value); echo "\n"; }));
echo "-- Anonymous function with two arguments --\n";
-var_dump( array_walk_recursive($input, create_function('$value, $key', 'var_dump($key); var_dump($value); echo "\n";')));
+var_dump( array_walk_recursive($input, function($value, $key) { var_dump($key); var_dump($value); echo "\n"; }));
echo "-- Anonymous function with three arguments --\n";
-var_dump( array_walk_recursive($input, create_function('$value, $key, $user_data', 'var_dump($key); var_dump($value); var_dump($user_data); echo "\n";'), 10));
+var_dump( array_walk_recursive($input, function($value, $key, $user_data) { var_dump($key); var_dump($value); var_dump($user_data); echo "\n"; }, 10));
echo "-- Anonymous function with one more argument --\n";
-var_dump( array_walk_recursive($input, create_function('$value, $key, $user_data', 'var_dump($key); var_dump($value); var_dump($user_data); echo "\n";'), 20, 30));
+var_dump( array_walk_recursive($input, function($value, $key, $user_data) { var_dump($key); var_dump($value); var_dump($user_data); echo "\n"; }, 20, 30));
echo "-- Anonymous function with null argument --\n";
-var_dump( array_walk_recursive( $input, create_function(null, 'echo "1\n";')));
+var_dump( array_walk_recursive( $input, function() { echo "1\n"; }));
echo "Done"
?>
--EXPECTF--
$input = array(2, 5, 10, 0);
echo "-- Anonymous function with one argument --\n";
-var_dump( array_walk($input, create_function('$value', 'var_dump($value); echo "\n";')));
+var_dump( array_walk($input, function($value) { var_dump($value); echo "\n"; }));
echo "-- Anonymous function with two arguments --\n";
-var_dump( array_walk($input, create_function('$value, $key', 'var_dump($key); var_dump($value); echo "\n";')));
+var_dump( array_walk($input, function($value, $key) { var_dump($key); var_dump($value); echo "\n"; }));
echo "-- Anonymous function with three arguments --\n";
-var_dump( array_walk($input, create_function('$value, $key, $user_data', 'var_dump($key); var_dump($value); var_dump($user_data); echo "\n";'), 10));
+var_dump( array_walk($input, function($value, $key, $user_data) { var_dump($key); var_dump($value); var_dump($user_data); echo "\n"; }, 10));
echo "-- Anonymous function with one more argument --\n";
-var_dump( array_walk($input, create_function('$value, $key, $user_data', 'var_dump($key); var_dump($value); var_dump($user_data); echo "\n";'), 20, 30));
+var_dump( array_walk($input, function($value, $key, $user_data) { var_dump($key); var_dump($value); var_dump($user_data); echo "\n"; }, 20, 30));
echo "-- Anonymous function with null argument --\n";
-var_dump( array_walk( $input, create_function(null, 'echo "1\n";')));
+var_dump( array_walk( $input, function() { echo "1\n"; }));
echo "Done"
?>
--EXPECTF--
echo "*** Testing uasort() : anonymous function as 'cmp_function' ***\n";
-$cmp_function = 'if($value1 == $value2) {return 0;} else if($value1 > $value2) {return 1;} else{return -1;}';
+$cmp_function = function($value1, $value2) {
+ if ($value1 == $value2) { return 0; }
+ else if ($value1 > $value2) { return 1; }
+ else { return -1; }
+};
$array_arg = array(0 => 100, 1 => 3, 2 => -70, 3 => 24, 4 => 90);
echo "-- Anonymous 'cmp_function' with parameters passed by value --\n";
-var_dump( uasort($array_arg, create_function('$value1, $value2',$cmp_function) ) );
+var_dump( uasort($array_arg, $cmp_function) );
var_dump($array_arg);
+$cmp_function = function(&$value1, &$value2) {
+ if ($value1 == $value2) { return 0; }
+ else if ($value1 > $value2) { return 1; }
+ else { return -1; }
+};
+
$array_arg = array("b" => "Banana", "m" => "Mango", "a" => "Apple", "p" => "Pineapple");
echo "-- Anonymous 'cmp_function' with parameters passed by reference --\n";
-var_dump( uasort($array_arg, create_function('&$value1, &$value2', $cmp_function) ) );
+var_dump( uasort($array_arg, $cmp_function ) );
var_dump($array_arg);
echo "Done"
echo "*** Testing usort() : usage variation ***\n";
-$cmp_function = 'if($value1 == $value2) {return 0;} else if($value1 > $value2) {return 1;} else{return -1;}';
+$cmp_function = function($value1, $value2) {
+ if ($value1 == $value2) { return 0; }
+ else if ($value1 > $value2) { return 1; }
+ else { return -1; }
+};
$array_arg = array(0 => 100, 1 => 3, 2 => -70, 3 => 24, 4 => 90);
echo "\n-- Anonymous 'cmp_function' with parameters passed by value --\n";
-var_dump( usort($array_arg, create_function('$value1, $value2',$cmp_function) ) );
+var_dump( usort($array_arg, $cmp_function) );
var_dump($array_arg);
$array_arg = array("b" => "Banana", "m" => "Mango", "a" => "Apple", "p" => "Pineapple");
+$cmp_function = function(&$value1, &$value2) {
+ if ($value1 == $value2) { return 0; }
+ else if ($value1 > $value2) { return 1; }
+ else { return -1; }
+};
+
echo "\n-- Anonymous 'cmp_function' with parameters passed by reference --\n";
-var_dump( usort($array_arg, create_function('&$value1, &$value2', $cmp_function) ) );
+var_dump( usort($array_arg, $cmp_function) );
var_dump($array_arg);
?>
===DONE===
[3]=>
string(9) "Pineapple"
}
-===DONE===
\ No newline at end of file
+===DONE===
*** Testing print_r() on anonymous functions ***
+
+Deprecated: Function create_function() is deprecated in %s on line %d
New anonymous function: \0lambda_1
-2 * 3 = 6\0lambda_2
+2 * 3 = 6
+Deprecated: Function create_function() is deprecated in %s on line %d
+\0lambda_2
*** Testing error conditions ***
*** Testing print_r() on anonymous functions ***
+
+Deprecated: Function create_function() is deprecated in %s on line %d
New anonymous function: \0lambda_1
-2 * 3 = 6\0lambda_2
+2 * 3 = 6
+Deprecated: Function create_function() is deprecated in %s on line %d
+\0lambda_2
*** Testing error conditions ***
}
*** Testing var_dump() on anonymous functions ***
+
+Deprecated: Function create_function() is deprecated in %s on line %d
New anonymous function: \0lambda_1
string(9) "2 * 3 = 6"
+
+Deprecated: Function create_function() is deprecated in %s on line %d
string(9) "\0lambda_2"
*** Testing error conditions ***
}
*** Testing var_dump() on anonymous functions ***
+
+Deprecated: Function create_function() is deprecated in %s on line %d
New anonymous function: \0lambda_1
string(9) "2 * 3 = 6"
+
+Deprecated: Function create_function() is deprecated in %s on line %d
string(9) "\0lambda_2"
*** Testing error conditions ***
var_export($func);
?>
--EXPECTF--
+Deprecated: Function create_function() is deprecated in %s on line %d
'' . "\0" . 'lambda_%d'
var_dump($func());
var_dump($func());
?>
---EXPECT--
+--EXPECTF--
+Deprecated: Function create_function() is deprecated in %s on line %d
int(0)
int(1)
int(2)
echo $foo("bar\n");
?>
bar
---EXPECT--
+--EXPECTF--
+
+Deprecated: Function create_function() is deprecated in %s on line %d
BAR
BAR
$a = new foo ();
?>
---EXPECT--
+--EXPECTF--
+Deprecated: Function create_function() is deprecated in %s on line %d
FOO
FOO