3v4l.org

run code in 300+ PHP versions simultaneously
<?php class human{ public $x = null; protected static function t(){ echo "sdffffffff"; } //魔术方法__call /* $method 获得方法名 $arg 获得方法的参数集合 */ public static function __callStatic($method,$arg){ echo '你想调用我不存在的方法',$method,'方法<br/>'; echo '还传了一个参数<br/>'; echo print_r($arg),'<br/>'; $reflect = new ReflectionMethod($this, $method); var_dump($reflect->isPublic()); self::$method(); } } human::t(1,2,3); $li=new human(); $li->t(1,2,3);
Output for 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
你想调用我不存在的方法t方法<br/>还传了一个参数<br/>Array ( [0] => 1 [1] => 2 [2] => 3 ) 1<br/> Fatal error: Uncaught Error: Using $this when not in object context in /in/ETZE0:18 Stack trace: #0 /in/ETZE0(23): human::__callStatic('t', Array) #1 {main} thrown in /in/ETZE0 on line 18
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0 你想调用我不存在的方法t方法<br/>还传了一个参数<br/>Array ( [0] => 1 [1] => 2 [2] => 3 ) 1<br/> Fatal error: Uncaught Error: Using $this when not in object context in /in/ETZE0:18 Stack trace: #0 /in/ETZE0(23): human::__callStatic('t', Array) #1 {main} thrown in /in/ETZE0 on line 18
Process exited with code 255.
Output for 7.0.0 - 7.0.20
你想调用我不存在的方法t方法<br/>还传了一个参数<br/>Array ( [0] => 1 [1] => 2 [2] => 3 ) 1<br/> Notice: Undefined variable: this in /in/ETZE0 on line 18 Fatal error: Uncaught ReflectionException: The parameter class is expected to be either a string or an object in /in/ETZE0:18 Stack trace: #0 /in/ETZE0(18): ReflectionMethod->__construct(NULL, 't') #1 /in/ETZE0(23): human::__callStatic('t', Array) #2 {main} thrown in /in/ETZE0 on line 18
Process exited with code 255.
Output for 5.3.3 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
你想调用我不存在的方法t方法<br/>还传了一个参数<br/>Array ( [0] => 1 [1] => 2 [2] => 3 ) 1<br/> Notice: Undefined variable: this in /in/ETZE0 on line 18 Fatal error: Uncaught exception 'ReflectionException' with message 'The parameter class is expected to be either a string or an object' in /in/ETZE0:18 Stack trace: #0 /in/ETZE0(18): ReflectionMethod->__construct(NULL, 't') #1 /in/ETZE0(23): human::__callStatic('t', Array) #2 /in/ETZE0(23): human::t(1, 2, 3) #3 {main} thrown in /in/ETZE0 on line 18
Process exited with code 255.
Output for 5.3.0 - 5.3.2
你想调用我不存在的方法t方法<br/>还传了一个参数<br/>Array ( [0] => 1 [1] => 2 [2] => 3 ) 1<br/> Notice: Undefined variable: this in /in/ETZE0 on line 18 Fatal error: Uncaught exception 'ReflectionException' with message 'The parameter class is expected to be either a string or an object' in /in/ETZE0:18 Stack trace: #0 /in/ETZE0(18): ReflectionMethod->__construct(NULL, 't') #1 [internal function]: human::__callStatic('t', Array) #2 /in/ETZE0(23): human::t(1, 2, 3) #3 {main} thrown in /in/ETZE0 on line 18
Process exited with code 255.
Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
Fatal error: Call to protected method human::t() from context '' in /in/ETZE0 on line 23
Process exited with code 255.
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/ETZE0 on line 4
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/ETZE0 on line 4
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/ETZE0 on line 4
Process exited with code 255.

preferences:
224.48 ms | 401 KiB | 312 Q