の違いが分からなくて困っています
A)return strcmp($digest, $signature) == 0;
と
B)return strcmp($digest, $signature);
通常strcmp()
、最初の文字列が 2 番目の文字列より小さい、等しい、または大きい場合は、それぞれ -1、0、または 1 を返します。その結果を 0 と比較することにより、
return strcmp($digest, $signature) == 0;
の結果はstrcmp()
、比較によるより大きい/より小さいではなく、等しいかどうかのみをテストするブール値に変換されます。この関数はTRUE
、2 つの文字列が等しい ( strcmp() == 0
)場合に戻りFALSE
ます。それ以外の場合は、その他の大小の情報を破棄します。
最初のものは 2 つの文字列が等しいかどうかを返し、2 番目のものは 2 つの文字列が等しくないかどうかを返します。
int strcmp (文字列 $str1 、文字列 $str2 )
str1 が str2 より小さい場合は < 0 を返します。> str1 が str2 より大きい場合は 0、等しい場合は 0。
A) 2 つの文字列が等しい場合は true、そうでない場合は false を返します B) strcmp の結果を返します
注: str1 が str2 より小さい場合、Strcmp は < 0 を返します。> str1 が str2 より大きい場合は 0、等しい場合は 0。