この関数に関するPHPのドキュメントは少しまばらで、この関数はASCII値を比較するので...
echo strcmp('hello', 'hello');
//outputs 0 as expected - strings are equal.
echo '<hr />';
echo strcmp('Hello', 'hello');
//outputs -32, a negative number is expected as
//uppercase H has a lower ASCII value than lowercase h.
echo '<hr />';
echo strcmp('60', '100');
//outputs 5.
最後の例は私を混乱させています。なぜ正の数を出力しているのかわかりません。
- 0のASCII値=48
- 1のASCII値=49
6のASCII値=54
'60'の合計ASCII値=(54 + 48)= 102
- '100'の合計ASCII値=(49 + 48 + 48)= 145
strcmp()関数は、ASCII値と文字列の長さ「100」が「60」より大きいように見えても、「60」は「100」より「大きい」と言っています。
誰かが理由を説明できますか?
ありがとう