@ 2016-07-20T04:00:50Z <?php
function foo(&$a, $b) {
$a = 'modified';
$b = 'modified';
}
class C {
function foo(&$a, $b) {
$a = 'modified';
$b = 'modified';
}
}
class S {
static function foo(&$a, $b) {
$a = 'modified';
$b = 'modified';
}
}
$vv["'foo'"] = 'foo';
$vv["['S', 'foo']"] = ['S', 'foo'];
$vv["[new C, 'foo']"] = [new C, 'foo'];
$vv["function(..){..}"] = function(&$a, $b) {
$a = 'modified';
$b = 'modified';
};
$vv["'S::foo'"] = 'S::foo';
foreach ($vv as $label => $v) {
print $label;
print is_callable($v) ? 'is callable' : 'is not callable';
print "\n";
$a = 'orig';
$b = 'orig';
call_user_func_array($v, array(&$a, &$b));
assert($a === 'modified');
assert($b === 'orig');
$a = 'orig';
$b = 'orig';
$v($a, $b);
assert($a === 'modified');
assert($b === 'orig');
}
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.0.0 - 7.0.33 , 7.1.0 - 7.1.33 , 7.2.0 - 7.2.33 , 7.3.0 - 7.3.33 , 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.28 , 8.2.0 - 8.2.19 , 8.3.0 - 8.3.7 'foo'is callable
['S', 'foo']is callable
[new C, 'foo']is callable
function(..){..}is callable
'S::foo'is callable
Output for 5.5.0 - 5.5.38 , 5.6.0 - 5.6.40 'foo'is callable
['S', 'foo']is callable
[new C, 'foo']is callable
function(..){..}is callable
'S::foo'is callable
Fatal error: Call to undefined function S::foo() in /in/KFAGV on line 44
Process exited with code 255 . preferences:dark mode live preview
183.71 ms | 402 KiB | 329 Q