在php中(或者其他语言中也有?),类似
<code>if(!$a=b){
.....
}</code>或者
立即学习“PHP免费学习笔记(深入)”;
<code>empty($a)&&$a=array()</code>
是什么意思?这样的写法有什么好处?
在php中(或者其他语言中也有?),类似
<code>if(!$a=b){
.....
}</code>或者
立即学习“PHP免费学习笔记(深入)”;
<code>empty($a)&&$a=array()</code>
是什么意思?这样的写法有什么好处?
不要这样写。
例如我写了几年代码了,第一眼就不知道 ! 和 = 的优先级
$a = someFunc();
if ($a) {
abc();
}
if ($a = someFunc()) {
abc();
}
if ( !($a = someFunc()) ) {
abc();
}
if ( ! $a = someFunc() ) {
abc();
}
($a = someFunc()) && abc();
最后,还是都用回if else 吧,代码一时爽,维护愁断肠.
<code class="php">
empty($a) && $a=array()
//这是短路运算符,如同
if(empty($a)){
$a=array();
}</code>
if(!$a=b){
<code>.....</code>
}
先给$a赋值b
再!$a 这里注意运算符优先级即可
第二个&&前面的表达式只是判断变量是否为空;后面的是判断是否为空数组,这里就可以省略了
<code> $a = FALSE;
$b = TRUE;
$c = 2;
// $a为false,短路了,$c没有赋值20
$a && $c=20;
echo $c; // 2
echo "<br />";
// $b为true,走了下一步,$c被赋值20
$b && $c=20;
echo $c; // 20
</code>你的代码可以理解为:如果不存在$a,就是true,走下一步,给$a赋值;
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号