Cal*_*dge 6 php types increment
$var = 'test_1';
var_dump(++$var); // string(6) "test_2"
$var2 = '1_test';
var_dump(++$var2); // string(6) "1_tesu"
$var3 = 'test_z';
var_dump(++$var3); // string(6) "test_a"
$var4 = 'test_';
var_dump(++$var4); // string(5) "test_"
Run Code Online (Sandbox Code Playgroud)
显然,如果最后一个字符是数字,则在字符串上使用增量运算符会增加数字,增加字母,然后如果最后一个字符在字母表中,则重置为一次z,并且对非字符串没有影响字母数字字符.
这是许多脚本语言中的标准功能,还是我找到了一个PHP复活节彩蛋?
当处理字符变量而不是C的算术运算时,PHP遵循Perl的约定.例如,在PHP和Perl $ a ='Z'中; $ A ++; 将$ a变为'AA',而在C a ='Z'; 一个++; 将a转换为'['('Z'的ASCII值为90,'['的ASCII值为91).请注意,字符变量可以递增但不递减,即使只支持纯ASCII字符(az和AZ).递增/递减其他字符变量无效,原始字符串不变.
- > http://php.net/manual/en/language.operators.increment.php