3v4l.org

run code in 300+ PHP versions simultaneously
<?php $xyz[]="a"; var_dump($xyz); if($xyz != '') { echo "xyz is not empty! good to go!\n"; $pw1 = 'my cool password keep it secrete please'; $pw2 = 'some other password'; $abc = strcmp($xyz, $pw1); if ($abc == 0) { echo "yep '$pw1' is the right password strcmp said so\n"; } $def = strcmp($xyz, $pw2); if ($def == 0) { echo "yep '$pw2' is the correct password too, strcmp said so\n"; } $ghi = strcmp($pw1, $pw2); if ($ghi != 0) { echo "weird '$pw1' isn't the same as '$pw2'\n"; } else {echo "i am strcmp, and i declare that '$pw1' is the same as '$pw2'!!\n"; } }
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
array(1) { [0]=> string(1) "a" } xyz is not empty! good to go! Fatal error: Uncaught TypeError: strcmp(): Argument #1 ($string1) must be of type string, array given in /in/sl2Ph:11 Stack trace: #0 /in/sl2Ph(11): strcmp(Array, 'my cool passwor...') #1 {main} thrown in /in/sl2Ph on line 11
Process exited with code 255.
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
array(1) { [0]=> string(1) "a" } xyz is not empty! good to go! Warning: strcmp() expects parameter 1 to be string, array given in /in/sl2Ph on line 11 yep 'my cool password keep it secrete please' is the right password strcmp said so Warning: strcmp() expects parameter 1 to be string, array given in /in/sl2Ph on line 13 yep 'some other password' is the correct password too, strcmp said so weird 'my cool password keep it secrete please' isn't the same as 'some other password'
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17
array(1) { [0]=> string(1) "a" } xyz is not empty! good to go! Notice: Array to string conversion in /in/sl2Ph on line 11 Notice: Array to string conversion in /in/sl2Ph on line 13 weird 'my cool password keep it secrete please' isn't the same as 'some other password'

preferences:
329.95 ms | 403 KiB | 464 Q