php - 这种没有if的判断语句怎么理解
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-16 13:12:52
0
5
367
$data ['ToUserName'] == 'gh_3c884a361561' || $this->init_follow ( $data );
曾经蜡笔没有小新
曾经蜡笔没有小新

全部回复(5)
phpcn_u1582

$data ['ToUserName'] == 'gh_3c884a361561'为真就取$data ['ToUserName']= 'gh_3c884a361561'为结果,注意是“=”,接着舍弃$this->init_follow ( $data )

$data ['ToUserName'] == 'gh_3c884a361561'为假就舍弃$data ['ToUserName']== 'gh_3c884a361561',接着判断$this->init_follow ( $data ),如果这个为真,那就获取init_follow()这个函数返回的结果

仅有的幸福

雷雷

伊谢尔伦

||具有短路性。||前边的语句为true,那么后边的就不不执行了。

过去多啦不再A梦

短路与和逻辑与

滿天的星座

精简写法,对比传统的if,只需要一行代码

//传统if写法:
if($data ['ToUserName'] != 'gh_3c884a361561') {
    $this->init_follow($data);
}

//推荐使用AND和OR来代替&&和||,AND和OR优先级更低,避免出现优先级问题
$data['ToUserName'] == 'gh_3c884a361561' OR $this->init_follow($data);

//比如一个优先级导致的问题
$result = true && false;//$result为false
$result = true AND false;//$result为true
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板