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"; } $def = strcmp($xyz, $pw2); if ($def == 0) { echo "yep $pw2 is the correct password too, strcmp said so"; } $ghi = strcmp($pw1, $pw2); if ($ghi != 0) { echo "weird '$pw1' isn't the same as '$pw2'"; } else {echo "i am strcmp, and i declare that '$pw1' is the same as '$pw2'!!"; } }
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/s8cHW:11 Stack trace: #0 /in/s8cHW(11): strcmp(Array, 'my cool passwor...') #1 {main} thrown in /in/s8cHW 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/s8cHW 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/s8cHW on line 13 yep some other password is the correct password too, strcmp said soweird '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/s8cHW on line 11 Notice: Array to string conversion in /in/s8cHW on line 13 weird 'my cool password keep it secrete please' isn't the same as 'some other password'

preferences:
317.49 ms | 403 KiB | 464 Q