<?php
function &testfunction()
{
global $testglobal;
return ($testglobal=1);
}
$testglobal_link=&call_user_func_array("testfuncti on",array('testparam-1','testparam-2'));
// $testglobal_link must be link to $testglobal at this stage
print $testglobal_link;
// trying to assign new value to $testglobal thru link
$testglobal_link=2;
// in theory we will get "2" as result
print $testglobal;
// but unfortunatly we will have "1" as result
print $testglobal_link;
Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, function "testfuncti on" not found or invalid function name in /in/LS0jv:10
Stack trace:
#0 {main}
thrown in /in/LS0jv on line 10
Process exited with code 255.
Output for 8.0.0 - 8.0.9
Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($function) must be a valid callback, function "testfuncti on" not found or invalid function name in /in/LS0jv:10
Stack trace:
#0 {main}
thrown in /in/LS0jv on line 10
Process exited with code 255.
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'testfuncti on' not found or invalid function name in /in/LS0jv on line 10
Notice: Only variables should be assigned by reference in /in/LS0jv on line 10
Notice: Undefined variable: testglobal in /in/LS0jv on line 16
2
Output for 7.3.32 - 7.3.33
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'testfuncti on' not found or invalid function name in /in/LS0jv on line 10
2
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'testfuncti on' not found or invalid function name in /in/LS0jv on line 10
Strict Standards: Only variables should be assigned by reference in /in/LS0jv on line 10
Notice: Undefined variable: testglobal in /in/LS0jv on line 16
2
Output for 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Warning: call_user_func_array(): First argument is expected to be a valid callback, 'testfuncti on' was given in /in/LS0jv on line 10
Strict Standards: Only variables should be assigned by reference in /in/LS0jv on line 10
Notice: Undefined variable: testglobal in /in/LS0jv on line 16
2
Output for 5.0.4
Warning: call_user_func_array(): First argument is expected to be a valid callback, 'testfuncti on' was given in /in/LS0jv on line 10
Notice: Undefined variable: testglobal in /in/LS0jv on line 16
2
Output for 5.0.0 - 5.0.3
Warning: call_user_func_array(): First argument is expected to be a valid callback, 'testfuncti on' was given in /in/LS0jv on line 10
Notice: Undefined variable: testglobal in /in/LS0jv on line 16
2
Output for 4.4.0 - 4.4.9
Warning: call_user_func_array(): First argumented is expected to be a valid callback, 'testfuncti on' was given in /in/LS0jv on line 10
Notice: Only variables should be assigned by reference in /in/LS0jv on line 10
Notice: Undefined variable: testglobal in /in/LS0jv on line 16
2
Output for 4.3.2 - 4.3.11
Warning: call_user_func_array(): First argumented is expected to be a valid callback, 'testfuncti on' was given in /in/LS0jv on line 10
Notice: Undefined variable: testglobal in /in/LS0jv on line 16
2
Output for 4.3.0 - 4.3.1
Warning: call_user_func_array() [http://www.php.net/function.call-user-func-array]: First argumented is expected to be a valid callback, 'testfuncti on' was given in /in/LS0jv on line 10
Notice: Undefined variable: testglobal in /in/LS0jv on line 16
2