<?php
say("strcmp(str1, str2): Returns < 0 if str1 is less than str2;\n",
" > 0 if str1 is greater than str2, and 0 if they are equal.\n",
" http://php.net/manual/en/function.strcmp.php");
say( "basic test");
string_lt('a', 'z');
say("numeric strings");
string_lt('22', '123');
say("non-numeric strings");
string_lt('bb', 'abc');
say("non-numeric strings with numbers in");
say("should be the same as 'numeric strings' if strcmp() really does string comparison");
string_lt('22x', '123x');
say("numbers");
string_lt(22, 123);
function string_lt($str1, $str2)
{
# < operator
if ($str1 < $str2) { say("$str1 < $str2"); }
if ($str2 < $str1) { say("$str2 < $str1"); }
# good old strcmp()
if (strcmp($str1, $str2) < 0) { say("strcmp says: $str1 < $str2"); }
if (strcmp($str2, $str1) < 0) { say("strcmp says: $str2 < $str1"); }
}
function say()
{
$msgs = func_get_args();
foreach ($msgs as $msg)
{
echo $msg;
}
echo "\n";
}
preferences:
42.64 ms | 402 KiB | 5 Q