3v4l.org

run code in 300+ PHP versions simultaneously
<?php $var11 = '12345'; $var12 = '22b'; $var13 = '12345x'; $var14 = '22'; $var15 = 12345; $var16 = 22; say("string comparisons:"); comparevar('var11 and var12', $var11, $var12); comparevar('var12 and var11', $var12, $var11); say("one numeric string, one string, make string comparisons:"); comparevar('var13 and var14', $var13, $var14); comparevar('var14 and var13', $var14, $var13); say("two numeric strings make numeric comparisons:"); comparevar('var11 and var14', $var11, $var14); comparevar('var14 and var11', $var14, $var11); say("two strings make string comparisons:"); comparevar('var12 and var13', $var12, $var13); comparevar('var13 and var12', $var13, $var12); say("two numbers make numeric comparisons:"); comparevar('var15 and var16', $var15, $var16); comparevar('var16 and var15', $var16, $var15); say("one numeric string, one number, make numeric comparisons:"); comparevar('var11 and var14', $var11, $var14); comparevar('var14 and var11', $var14, $var11); comparevar('var15 and var16', $var15, $var16); comparevar('var16 and var15', $var16, $var15); comparevar('var11 and var15', $var11, $var15); comparevar('var16 and var14', $var16, $var14); say("one string, one number, make numeric comparisons:"); comparevar('var13 and var15', $var13, $var15); comparevar('var14 and var16', $var14, $var16); 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.17, 8.3.0 - 8.3.4
string comparisons: var11 and var12: 12345 < 22b var12 and var11: 22b > 12345 one numeric string, one string, make string comparisons: var13 and var14: 12345x < 22 var14 and var13: 22 > 12345x two numeric strings make numeric comparisons: var11 and var14: 12345 > 22 var14 and var11: 22 < 12345 two strings make string comparisons: var12 and var13: 22b > 12345x var13 and var12: 12345x < 22b two numbers make numeric comparisons: var15 and var16: 12345 > 22 var16 and var15: 22 < 12345 one numeric string, one number, make numeric comparisons: var11 and var14: 12345 > 22 var14 and var11: 22 < 12345 var15 and var16: 12345 > 22 var16 and var15: 22 < 12345 var11 and var15: 12345 == 12345 var16 and var14: 22 == 22 one string, one number, make numeric comparisons: var13 and var15: 12345x > 12345 var14 and var16: 22 == 22
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.1.0 - 7.1.33, 7.2.6 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
string comparisons: var11 and var12: 12345 < 22b var12 and var11: 22b > 12345 one numeric string, one string, make string comparisons: var13 and var14: 12345x < 22 var14 and var13: 22 > 12345x two numeric strings make numeric comparisons: var11 and var14: 12345 > 22 var14 and var11: 22 < 12345 two strings make string comparisons: var12 and var13: 22b > 12345x var13 and var12: 12345x < 22b two numbers make numeric comparisons: var15 and var16: 12345 > 22 var16 and var15: 22 < 12345 one numeric string, one number, make numeric comparisons: var11 and var14: 12345 > 22 var14 and var11: 22 < 12345 var15 and var16: 12345 > 22 var16 and var15: 22 < 12345 var11 and var15: 12345 == 12345 var16 and var14: 22 == 22 one string, one number, make numeric comparisons: var13 and var15: 12345x == 12345 var14 and var16: 22 == 22

preferences:
254.43 ms | 406 KiB | 336 Q