2

の違いが分からなくて困っています

A)return strcmp($digest, $signature) == 0;

B)return strcmp($digest, $signature);

4

3 に答える 3

4

通常strcmp()、最初の文字列が 2 番目の文字列より小さい、等しい、または大きい場合は、それぞれ -1、0、または 1 を返します。その結果を 0 と比較することにより、

return strcmp($digest, $signature) == 0;

の結果はstrcmp()、比較によるより大きい/より小さいではなく、等しいかどうかのみをテストするブール値に変換されます。この関数はTRUE、2 つの文字列が等しい ( strcmp() == 0)場合に戻りFALSEます。それ以外の場合は、その他の大小の情報を破棄します。

于 2011-10-25T01:27:39.853 に答える
2

最初のものは 2 つの文字列が等しいかどうかを返し、2 番目のものは 2 つの文字列が等しくないかどうかを返します。

int strcmp (文字列 $str1 、文字列 $str2 )

str1 が str2 より小さい場合は < 0 を返します。> str1 が str2 より大きい場合は 0、等しい場合は 0。

于 2011-10-25T01:27:09.797 に答える
0

A) 2 つの文字列が等しい場合は true、そうでない場合は false を返します B) strcmp の結果を返します

注: str1 が str2 より小さい場合、Strcmp は < 0 を返します。> str1 が str2 より大きい場合は 0、等しい場合は 0。

于 2011-10-25T01:29:52.440 に答える