php bool类型 ++ 自增

it2022-05-05  88

这个代码的输出?

<?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类型 转为整数类型并累加


最新回复(0)