code - php中关于运算符的一些疑问?

php中文网
发布: 2016-07-06 13:53:55
原创
1116人浏览过

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();
}

PHP 网络编程技术与实例(曹衍龙)
PHP 网络编程技术与实例(曹衍龙)

PHP网络编程技术详解由浅入深,全面、系统地介绍了PHP开发技术,并提供了大量实例,供读者实战演练。另外,笔者专门为本书录制了相应的配套教学视频,以帮助读者更好地学习本书内容。这些视频和书中的实例源代码一起收录于配书光盘中。本书共分4篇。第1篇是PHP准备篇,介绍了PHP的优势、开发环境及安装;第2篇是PHP基础篇,介绍了PHP中的常量与变量、运算符与表达式、流程控制以及函数;第3篇是进阶篇,介绍

PHP 网络编程技术与实例(曹衍龙) 386
查看详情 PHP 网络编程技术与实例(曹衍龙)

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怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号