增量算子的混淆

时间:2015-08-03 07:23:42

标签: php

$a = 'z99';
var_dump(++$a);

上面的代码会输出aa00。我对这个输出很困惑。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

那是因为PHP遵循Perl的约定。

您可以在http://php.net/manual/en/language.operators.increment.php

上找到更多信息

因为这是一个字符串,99转到00 - >下一个增量,Z进入AA。如果您使用Y99完成它,那将是Z00。

$s = 'W';
for ($n=0; $n<6; $n++) {
    echo ++$s . PHP_EOL;
}

返回:

X ÿ ž AA AB AC

请注意,递减字符串在PHP中不起作用。

$s = 'W';
for ($n=0; $n<6; $n++) {
    echo --$s . PHP_EOL;
}

返回: W W W W W W

相关问题