3v4l.org

run code in 500+ PHP versions simultaneously
<?php function my_callback( $value, $one, $two, $three ) { echo "Params passed to callback:\n"; print_r( compact( 'value', 'one', 'two', 'three' ) ); return strtoupper( $value ); } function apply_filters( $hook_name, $value, ...$args ) { echo "Params passed to apply_filters():\n"; print_r( compact( 'hook_name', 'value', 'args' ) ); $value = call_user_func_array( 'my_callback', array_values(array( $value, ...$args ) ) ); return $value; } $args = [ 'three' => 3, 'two' => 2, 'one' => 1, ]; $value = call_user_func_array( 'apply_filters', array_merge( array( 'foo', 'bar' ), $args ) ); echo "value: $value\n";
Output for 8.1.0 - 8.1.34, 8.2.0 - 8.2.32, 8.3.0 - 8.3.32, 8.4.1 - 8.4.23, 8.5.0 - 8.5.8
Params passed to apply_filters(): Array ( [hook_name] => foo [value] => bar [args] => Array ( [three] => 3 [two] => 2 [one] => 1 ) ) Params passed to callback: Array ( [value] => bar [one] => 3 [two] => 2 [three] => 1 ) value: BAR
Output for 8.0.0 - 8.0.30
Params passed to apply_filters(): Array ( [hook_name] => foo [value] => bar [args] => Array ( [three] => 3 [two] => 2 [one] => 1 ) ) Fatal error: Uncaught Error: Cannot unpack array with string keys in /in/lTFHM:12 Stack trace: #0 /in/lTFHM(21): apply_filters('foo', 'bar', three: 3, two: 2, one: 1) #1 {main} thrown in /in/lTFHM on line 12
Process exited with code 255.
Output for 7.4.0 - 7.4.33
Params passed to apply_filters(): Array ( [hook_name] => foo [value] => bar [args] => Array ( [0] => 3 [1] => 2 [2] => 1 ) ) Params passed to callback: Array ( [value] => bar [one] => 3 [two] => 2 [three] => 1 ) value: BAR
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33
Parse error: syntax error, unexpected '...' (T_ELLIPSIS), expecting ')' in /in/lTFHM on line 12
Process exited with code 255.
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38
Parse error: syntax error, unexpected '.', expecting '&' or variable (T_VARIABLE) in /in/lTFHM on line 9
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29
Parse error: syntax error, unexpected '.', expecting '&' or T_VARIABLE in /in/lTFHM on line 9
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected '.', expecting '&' or T_VARIABLE in /in/lTFHM on line 9
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected '.', expecting '&' or T_VARIABLE or T_CONST in /in/lTFHM on line 9
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected '.', expecting '&' or T_VARIABLE or T_CONST in /in/lTFHM on line 9
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `'&'' or `T_VARIABLE' or `T_CONST' in /in/lTFHM on line 9
Process exited with code 255.

preferences:
88.02 ms | 2828 KiB | 4 Q