diff --git a/reference/funchand/functions/call-user-func-array.xml b/reference/funchand/functions/call-user-func-array.xml index 83b9f350ad..b66ff09009 100644 --- a/reference/funchand/functions/call-user-func-array.xml +++ b/reference/funchand/functions/call-user-func-array.xml @@ -172,16 +172,20 @@ int(8) &reftitle.notes; - Referenced variables in param_arr are passed to the - function by reference, regardless of whether the function expects the - respective parameter to be passed by reference. This form of call-time - pass by reference does not emit a deprecation notice, but it is nonetheless - deprecated, and will most likely be removed in the next version of PHP. + Before PHP 5.4, referenced variables in param_arr + are passed to the function by reference, regardless of whether the function + expects the respective parameter to be passed by reference. This form of + call-time pass by reference does not emit a deprecation notice, but it is + nonetheless deprecated, and has been removied in PHP 5.4. Furthermore, this does not apply to internal functions, for which - the function signature is honored. Passing by value when the function expects - a parameter by reference results in a warning and having - call_user_func return &false; (does not apply if the - passed value has a reference count = 1). + the function signature is honored. Passing by value when the function + expects a parameter by reference results in a warning and having + call_user_func return &false; (there is, however, an + exception for passed values with reference count = 1, such as in literals, + as these can be turned into references without ill effects — but also + without writes to that value having any effect —; do not rely + in this behavior, though, as the reference count is an implementation + detail and the soundness of this behavior is questionable). ¬e.func-callback-exceptions;