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.
最后一个例子让我感到困惑。我不明白为什么它输出一个正数。
- ASCII 值 0 = 48
- ASCII 值 1 = 49
ASCII 值 6 = 54
'60' 的总 ASCII 值 = (54 + 48) = 102
- '100' 的总 ASCII 值 = (49 + 48 + 48) = 145
strcmp() 函数说 '60' 比 '100' “更大”,即使 '100' 的 ASCII 值和字符串长度似乎大于 '60'
谁能解释为什么?
谢谢