3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<pre><?php $var1 = 'ccc'; $var2 = 'ccc'; echo "separate variables\n"; debug_zval_dump($var1, $var2); echo "Copying variable just adds references to the same value\n"; $copy = $var1; debug_zval_dump($var1, $copy); echo "Using a reference adds references to the same value \n"; $reference =& $var2; debug_zval_dump(&$var2, &$reference); echo "Using a copy and a reference of the same value actually creates a clone \n"; $reference2 =& $var1; debug_zval_dump(&$var1, $copy, &$reference2);
based on lR3Wp
Output for 5.4.0 - 5.4.32
Fatal error: Call-time pass-by-reference has been removed in /in/i0gvC on line 15
Process exited with code 255.
Output for 5.3.0 - 5.3.29
Deprecated: Call-time pass-by-reference has been deprecated in /in/i0gvC on line 15 Deprecated: Call-time pass-by-reference has been deprecated in /in/i0gvC on line 15 Deprecated: Call-time pass-by-reference has been deprecated in /in/i0gvC on line 19 Deprecated: Call-time pass-by-reference has been deprecated in /in/i0gvC on line 19 <pre>separate variables string(3) "ccc" refcount(2) string(3) "ccc" refcount(2) Copying variable just adds references to the same value string(3) "ccc" refcount(4) string(3) "ccc" refcount(4) Using a reference adds references to the same value &string(3) "ccc" refcount(4) &string(3) "ccc" refcount(4) Using a copy and a reference of the same value actually creates a clone &string(3) "ccc" refcount(4) string(3) "ccc" refcount(2) &string(3) "ccc" refcount(4)
Output for 5.2.7 - 5.2.17
Warning: Call-time pass-by-reference has been deprecated in /in/i0gvC on line 15 Warning: Call-time pass-by-reference has been deprecated in /in/i0gvC on line 15 Warning: Call-time pass-by-reference has been deprecated in /in/i0gvC on line 19 Warning: Call-time pass-by-reference has been deprecated in /in/i0gvC on line 19 <pre>separate variables string(3) "ccc" refcount(2) string(3) "ccc" refcount(2) Copying variable just adds references to the same value string(3) "ccc" refcount(4) string(3) "ccc" refcount(4) Using a reference adds references to the same value &string(3) "ccc" refcount(4) &string(3) "ccc" refcount(4) Using a copy and a reference of the same value actually creates a clone &string(3) "ccc" refcount(4) string(3) "ccc" refcount(2) &string(3) "ccc" refcount(4)
Output for 5.2.5 - 5.2.6
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /in/i0gvC on line 15 Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /in/i0gvC on line 15 Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /in/i0gvC on line 19 Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in /in/i0gvC on line 19 <pre>separate variables string(3) "ccc" refcount(2) string(3) "ccc" refcount(2) Copying variable just adds references to the same value string(3) "ccc" refcount(4) string(3) "ccc" refcount(4) Using a reference adds references to the same value &string(3) "ccc" refcount(4) &string(3) "ccc" refcount(4) Using a copy and a reference of the same value actually creates a clone &string(3) "ccc" refcount(4) string(3) "ccc" refcount(2) &string(3) "ccc" refcount(4)
Output for 5.2.1 - 5.2.4
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. in /in/i0gvC on line 15 Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. in /in/i0gvC on line 15 Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. in /in/i0gvC on line 19 Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. in /in/i0gvC on line 19 <pre>separate variables string(3) "ccc" refcount(2) string(3) "ccc" refcount(2) Copying variable just adds references to the same value string(3) "ccc" refcount(4) string(3) "ccc" refcount(4) Using a reference adds references to the same value &string(3) "ccc" refcount(4) &string(3) "ccc" refcount(4) Using a copy and a reference of the same value actually creates a clone &string(3) "ccc" refcount(4) string(3) "ccc" refcount(2) &string(3) "ccc" refcount(4)
Output for 4.3.0 - 5.2.0
Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /in/i0gvC on line 15 Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /in/i0gvC on line 15 Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /in/i0gvC on line 19 Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of debug_zval_dump(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /in/i0gvC on line 19 <pre>separate variables string(3) "ccc" refcount(2) string(3) "ccc" refcount(2) Copying variable just adds references to the same value string(3) "ccc" refcount(4) string(3) "ccc" refcount(4) Using a reference adds references to the same value &string(3) "ccc" refcount(4) &string(3) "ccc" refcount(4) Using a copy and a reference of the same value actually creates a clone &string(3) "ccc" refcount(4) string(3) "ccc" refcount(2) &string(3) "ccc" refcount(4)