3v4l.org

run code in 300+ PHP versions simultaneously
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Output for git.master, git.master_jit
Testing boolean with function foo(boolean $i) { } foo(true); results in: Warning: "boolean" will be interpreted as a class name. Did you mean "bool"? Write "\boolean" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type boolean, bool given Testing double with function foo(double $i) { } foo(1.2); results in: Warning: "double" will be interpreted as a class name. Did you mean "float"? Write "\double" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type double, float given Testing integer with function foo(integer $i) { } foo(1); results in: Warning: "integer" will be interpreted as a class name. Did you mean "int"? Write "\integer" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type integer, int given Testing resource with function foo(resource $i) { } foo(STDOUT); results in: Warning: "resource" is not a supported builtin type and will be interpreted as a class name. Write "\resource" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type resource, resource given
Output for rfc.property-hooks
Testing boolean with function foo(boolean $i) { } foo(true); results in: Warning: "boolean" will be interpreted as a class name. Did you mean "bool"? Write "\boolean" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type boolean, true given Testing double with function foo(double $i) { } foo(1.2); results in: Warning: "double" will be interpreted as a class name. Did you mean "float"? Write "\double" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type double, float given Testing integer with function foo(integer $i) { } foo(1); results in: Warning: "integer" will be interpreted as a class name. Did you mean "int"? Write "\integer" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type integer, int given Testing resource with function foo(resource $i) { } foo(STDOUT); results in: Warning: "resource" is not a supported builtin type and will be interpreted as a class name. Write "\resource" to suppress this warning in /in/816pM(18) : eval()'d code on line 1 foo(): Argument #1 ($i) must be of type resource, resource given

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
110.11 ms | 417 KiB | 5 Q