3v4l.org

run code in 300+ PHP versions simultaneously
<?PHP class COMMENT { public function prepare($data) { $data['body'] = COMMENT::prepareBody($data['body']); } public function prepareBody($body) { call_user_func(array('self', 'prepareBody_cb')); } public static function prepareBody_cb($match) { return 'ok'; } } class COMMENTS { function addComment($data) { $x = COMMENT::prepareBody($data); } } class ACTION { function ietsMetComment() { $post = array ('body' => 'a'); $c = new COMMENTS(); $c->addComment($post); } } function selector() { $x = new ACTION; $x->ietsMetComment(); } error_reporting(E_ALL); ini_set('display_errors', 'on'); selector();
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Fatal error: Uncaught Error: Non-static method COMMENT::prepareBody() cannot be called statically in /in/XsVCg:24 Stack trace: #0 /in/XsVCg(34): COMMENTS->addComment(Array) #1 /in/XsVCg(42): ACTION->ietsMetComment() #2 /in/XsVCg(49): selector() #3 {main} thrown in /in/XsVCg on line 24
Process exited with code 255.
Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.12 - 7.3.33, 7.4.0 - 7.4.33
Deprecated: Non-static method COMMENT::prepareBody() should not be called statically in /in/XsVCg on line 24 Fatal error: Uncaught ArgumentCountError: Too few arguments to function COMMENT::prepareBody_cb(), 0 passed in /in/XsVCg on line 12 and exactly 1 expected in /in/XsVCg:15 Stack trace: #0 /in/XsVCg(12): COMMENT::prepareBody_cb() #1 /in/XsVCg(24): COMMENT::prepareBody(Array) #2 /in/XsVCg(34): COMMENTS->addComment(Array) #3 /in/XsVCg(42): ACTION->ietsMetComment() #4 /in/XsVCg(49): selector() #5 {main} thrown in /in/XsVCg on line 15
Process exited with code 255.
Output for 7.0.0 - 7.0.20
Deprecated: Non-static method COMMENT::prepareBody() should not be called statically in /in/XsVCg on line 24 Warning: Missing argument 1 for COMMENT::prepareBody_cb(), called in /in/XsVCg on line 12 and defined in /in/XsVCg on line 15
Output for 5.6.8 - 5.6.28
Deprecated: Non-static method COMMENT::prepareBody() should not be called statically, assuming $this from incompatible context in /in/XsVCg on line 24 Warning: Missing argument 1 for COMMENT::prepareBody_cb() in /in/XsVCg on line 15
Output for 5.4.0 - 5.4.45, 5.5.24 - 5.5.35
Strict Standards: Non-static method COMMENT::prepareBody() should not be called statically, assuming $this from incompatible context in /in/XsVCg on line 24 Warning: Missing argument 1 for COMMENT::prepareBody_cb() in /in/XsVCg on line 15
Output for 5.3.0 - 5.3.29
Warning: Missing argument 1 for COMMENT::prepareBody_cb() in /in/XsVCg on line 15
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Warning: call_user_func(self::prepareBody_cb): Unable to call self::prepareBody_cb() in /in/XsVCg on line 12
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/XsVCg on line 5
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 T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/XsVCg on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/XsVCg on line 5
Process exited with code 255.

preferences:
193.25 ms | 401 KiB | 315 Q