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 "yes '$pw1' is the same as '$xyz'\n"; } $def = strcmp($xyz, $pw2); if ($def == 0) { echo "yep '$pw2' is the same as '$xyz'\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/upEbS:11 Stack trace: #0 /in/upEbS(11): strcmp(Array, 'my cool passwor...') #1 {main} thrown in /in/upEbS on line 11
Process exited with code 255.
Output for 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.31, 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/upEbS on line 11 Notice: Array to string conversion in /in/upEbS on line 12 yes 'my cool password keep it secrete please' is the same as 'Array' Warning: strcmp() expects parameter 1 to be string, array given in /in/upEbS on line 13 Notice: Array to string conversion in /in/upEbS on line 14 yep 'some other password' is the same as 'Array' weird 'my cool password keep it secrete please' isn't the same as 'some other password'
Output for 5.3.0 - 5.3.29, 7.3.32 - 7.3.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/upEbS on line 11 yes 'my cool password keep it secrete please' is the same as 'Array' Warning: strcmp() expects parameter 1 to be string, array given in /in/upEbS on line 13 yep 'some other password' is the same as 'Array' 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/upEbS on line 11 Notice: Array to string conversion in /in/upEbS on line 13 weird 'my cool password keep it secrete please' isn't the same as 'some other password'

preferences:
315.47 ms | 403 KiB | 464 Q