PHP手册指出:
在处理字符变量的算术运算时,PHP遵循Perl的约定而不是C的约定。
例如,在PHP和Perl中,$a = 'Z'; $a++;
会将$a变成'AA',
而在C中,a = 'Z'; a++;
会将a变成'['
('Z'的ASCII值为90,'['的ASCII值为91)。
如果PHP在处理字符的算术运算时将字符转换为ASCII值(假设),那么它不应该打印出'['而不是'AA'吗?为什么以及如何使PHP增加字符的方式呢?
PHP手册指出:
在处理字符变量的算术运算时,PHP遵循Perl的约定而不是C的约定。
例如,在PHP和Perl中,$a = 'Z'; $a++;
会将$a变成'AA',
而在C中,a = 'Z'; a++;
会将a变成'['
('Z'的ASCII值为90,'['的ASCII值为91)。
如果PHP在处理字符的算术运算时将字符转换为ASCII值(假设),那么它不应该打印出'['而不是'AA'吗?为什么以及如何使PHP增加字符的方式呢?
"0"
和0
视为相等,而不是将"0"
和48
视为相等。$ php
<?php
echo "0" == 0 ; echo "\n";
echo "0" == 48 ; echo "\n";
1