3v4l.org

run code in 300+ PHP versions simultaneously
<?php $var1 = '123'; $var2 = '456A'; $var3 = '78'; $var4 = (int) $var2; $var5 = (float) $var2; $var6 = $var2 + 0; $var7 = 0 + $var2; # the weird bit: say("string comparison?"); comparevar("var2 and var3", $var2, $var3); comparevar("var3 and var2", $var3, $var2); say("number comarison?"); comparevar("var3 and var4", $var3, $var4); comparevar("var4 and var3", $var4, $var3); comparevar("var2 and var4", $var2, $var4); comparevar("var4 and var2", $var4, $var2); say("end weird bit"); comparevar("var1 and var2", $var1, $var2); comparevar("var3 and var1", $var3, $var1); comparevar("var2 and var1", $var2, $var1); comparevar("var4 and var5", $var4, $var5); comparevar("var5 and var6", $var5, $var6); comparevar("var6 and var7", $var6, $var7); comparevar("var2 and var4", $var2, $var4); comparevar("var2 and var5", $var2, $var5); comparevar("var2 and var6", $var2, $var6); function comparevar($tag, $arg1, $arg2) { echo("$tag: "); if ($arg1 === $arg2) { say("$arg1 === $arg2"); } if ($arg1 == $arg2) { say("$arg1 == $arg2"); } if ($arg1 < $arg2) { say("$arg1 < $arg2"); } if ($arg1 > $arg2) { say("$arg1 > $arg2"); } } function say($str) { echo $str, "\n"; }
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.27, 8.2.0 - 8.2.18, 8.3.0 - 8.3.4, 8.3.6
Warning: A non-numeric value encountered in /in/Xu353 on line 8 Warning: A non-numeric value encountered in /in/Xu353 on line 9 string comparison? var2 and var3: 456A < 78 var3 and var2: 78 > 456A number comarison? var3 and var4: 78 < 456 var4 and var3: 456 > 78 var2 and var4: 456A > 456 var4 and var2: 456 < 456A end weird bit var1 and var2: 123 < 456A var3 and var1: 78 < 123 var2 and var1: 456A > 123 var4 and var5: 456 == 456 var5 and var6: 456 == 456 var6 and var7: 456 === 456 456 == 456 var2 and var4: 456A > 456 var2 and var5: 456A > 456 var2 and var6: 456A > 456
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 Warning: A non-numeric value encountered in /in/Xu353 on line 8 Warning: A non-numeric value encountered in /in/Xu353 on line 9 string comparison? var2 and var3: 456A < 78 var3 and var2: 78 > 456A number comarison? var3 and var4: 78 < 456 var4 and var3: 456 > 78 var2 and var4: 456A > 456 var4 and var2: 456 < 456A end weird bit var1 and var2: 123 < 456A var3 and var1: 78 < 123 var2 and var1: 456A > 123 var4 and var5: 456 == 456 var5 and var6: 456 == 456 var6 and var7: 456 === 456 456 == 456 var2 and var4: 456A > 456 var2 and var5: 456A > 456 var2 and var6: 456A > 456
Output for 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33
Notice: A non well formed numeric value encountered in /in/Xu353 on line 8 Notice: A non well formed numeric value encountered in /in/Xu353 on line 9 string comparison? var2 and var3: 456A < 78 var3 and var2: 78 > 456A number comarison? var3 and var4: 78 < 456 var4 and var3: 456 > 78 var2 and var4: 456A == 456 var4 and var2: 456 == 456A end weird bit var1 and var2: 123 < 456A var3 and var1: 78 < 123 var2 and var1: 456A > 123 var4 and var5: 456 == 456 var5 and var6: 456 == 456 var6 and var7: 456 === 456 456 == 456 var2 and var4: 456A == 456 var2 and var5: 456A == 456 var2 and var6: 456A == 456
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, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.3.32 - 7.3.33
string comparison? var2 and var3: 456A < 78 var3 and var2: 78 > 456A number comarison? var3 and var4: 78 < 456 var4 and var3: 456 > 78 var2 and var4: 456A == 456 var4 and var2: 456 == 456A end weird bit var1 and var2: 123 < 456A var3 and var1: 78 < 123 var2 and var1: 456A > 123 var4 and var5: 456 == 456 var5 and var6: 456 == 456 var6 and var7: 456 === 456 456 == 456 var2 and var4: 456A == 456 var2 and var5: 456A == 456 var2 and var6: 456A == 456

preferences:
228.07 ms | 404 KiB | 326 Q