code - php中关于运算符的一些疑问?
在php中(或者其他语言中也有?),类似
<code>if(!$a=b){ ..... }</code>
或者
<code>empty($a)&&$a=array()</code>
是什么意思?这样的写法有什么好处?
回复内容:
在php中(或者其他语言中也有?),类似
<code>if(!$a=b){ ..... }</code>
或者
<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 吧,代码一时爽,维护愁断肠.
empty($a) && $a=array() //这是短路运算符,如同 if(empty($a)){ $a=array(); }
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赋值;

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu
