这个代码的输出?
<?php
$a = true;
$a++;
echo $a.' ';
$a = $a + 1;
echo $a.PHP_EOL;
输出1 2
bool类型自增自减没有效果
把$a++; 改为 $a += 1;
输出2 3 是期望的结果
$a = true;
对$a多次++操作, 仍然是true (bool类型), 不会自动转为integer
转化为字符是"1", 转化为整数是1
<?php
$a = true;
++$a;
++$a;
var_dump($a);
echo $a.' ';
$a = $a + 1;
echo $a.PHP_EOL;
$ php pp.php
bool(true)
1 int(1)
2
对false进行++, 始终是false
false.php
<?php
$a = false;
++$a;
++$a;
var_dump($a);
$a = $a + 1;
echo $a.PHP_EOL;
$ php false.php
bool(false)
1
结论: ++ 自增操作符不能把 bool类型 转为整数类型并累加