Por que “echo strcmp ('60 ',' 100 ');” na saída php 5?
documentação do PHP nesta função é um pouco esparsa e li que essa função compara valores ASCII de forma que ...
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.
O último exemplo está me confundindo. Não entendo por que está produzindo um número positivo.
ASCII Valor de 0 = 48ASCII Valor de 1 = 49ASCII Valor de 6 = 54
Valor ASCII total de '60' = (54 + 48) = 102
Valor ASCII total de '100' = (49 + 48 + 48) = 145As funções strcmp () estão dizendo que '60' é "maior" que '100', embora pareça que o valor ASCII o comprimento da string '100' é maior que '60'
Alguém pode explicar o porquê?
Obrigad