2 つの文字列を「数値的に」比較したい。つまり、 like2C
は 未満です11A
。私はこれを試しましたが、うまくいきません:
if("2A" < "11A"){
echo "First corect";
}
if(strcmp("2A", "11A") < 0){
echo "Last corect";
}
echo "Tests completed";
strnatcmp
(または大文字と小文字を区別しない兄弟)を探していstrnatcasecmp
ます。
これにより、入力の数値部分が数字として比較され (「11whatever」の前に「2whatever」が配置されます)、テキストとしての部分がテキストとして比較されます (「2b」の前に「2a」が配置されます)。
if(intval(0x2A) < intval(0x11A)){
echo "First corect";
}
else
{
echo "Tests incompleted";
}
このコードを試してください
次の関数を記述します。
<Object>
にトークン化します。各オブジェクトは文字列または整数であり、整数は非数字間の連続した数字の文字列から作成されます。文字列は任意の 2 桁間の連続した非数字です。Nth elements
が等しい場合は、 の比較に進みますN+1th elements
。そうでない場合return t/f
は、整数と整数、または文字列と文字列の比較に基づきます。