$a = 3;
$b = 5;
var_dump(5 || $b = 7);//boolean(true)
if($a = 5 || $b = 7) { //|| 的优先级比赋值预算的要高
var_dump($a); //boolean(true)
$a++;
$b++;
}
echo $a . " " . $b;//1 6
$b = 5;
var_dump(5 || $b = 7);//boolean(true)
if($a = 5 || $b = 7) { //|| 的优先级比赋值预算的要高
var_dump($a); //boolean(true)
$a++;
$b++;
}
echo $a . " " . $b;//1 6
<?php function timesTwo(&$int) { $int = $int * 2; } $int = 2; $result = timesTwo($int); echo $int;//4 ?>
<?php $int = 2; $bool = true; // 算术运算符和字符串运算符 $a= 1 + 'test'. ($int + $bool); $b= 'test' . ($int + $bool) + 1; var_dump($a, $b);//string(2) "13" int(1) ?>
echo -10%3; //-1
<?php if($a = 100 && $b = 200) { var_dump($a,$b);//bool(true) int(200) } ?>
//如果 var 不是数组类型或者实现了 Countable 接口的对象,将返回 1,有一个例外,如果 var 是 NULL 则结果是 0。 echo count ("567");//1 echo count(null); //0 echo count(false); //1
//注意这种操作引起的错误 $a = null; var_dump($a['abc']);//null