关于php if(){}和if()的区别
黄舟
黄舟 2017-04-10 15:25:16
[PHP讨论组]

今天学习PHP的时候遇到这么问题。

    function filter($fun){
                for($i=0; $i<=100; $i++){
                       if(call_user_func_array($fun, array($i)))
                            continue;
                            echo $i."<br/>";   

                }
        }

        //求被三整除
        function one($num){
                return $num % 3 ==0;        
        }
        //翻转字符串
        function two($num){
                return $num == strrev($num);        
        }

        filter("one");
        echo "<br/>";
        filter('two');

显示结果

    function filter($fun){
                for($i=0; $i<=100; $i++){
                       if(call_user_func_array($fun, array($i))){
                            continue;
                            echo $i."<br/>";   
                       }
                }
        }

        //求被三整除
        function one($num){
                return $num % 3 ==0;        
        }
        //翻转字符串
        function two($num){
                return $num == strrev($num);        
        }

        filter("one");
        echo "<br/>";
        filter('two');

不显示结果。以上两端代码不是同一个意思吗?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
ringa_lee
    for($i=0; $i<=100; $i++){
                       if(call_user_func_array($fun, array($i)))
                            continue;
                            echo $i."<br/>";   

                }

等价于

    for($i=0; $i<=100; $i++){
                       if(call_user_func_array($fun, array($i))){
                            continue;
                       }
                       echo $i."<br/>";   
                }

不管你if是不是真,都会执行,php不是python哦。不是说缩进就是一个语句块

PHP中文网

php的if和C的if一样。

不加大括号就到分号,加了大括号就是大括号内的东西。

PHPz
for($i=0; $i<=100; $i++){
                       if(call_user_func_array($fun, array($i))){
                            continue;
                            echo $i."<br/>";   
                       }
                }

这段程序是错的,因为echo $i."<br/>";永远不会被执行

天蓬老师

if(true){}:

phpif(true){
    //这个花括号里的代码都会执行
}

if(true):

phpif (true) echo(233);//只有这个echo(233);才是属于if判断
echo time();

区别就是if(true)只有后面一句且必须有一句是条件为真的执行代码,而if(true){}的花括号里的代码都是条件成立的执行代码,且可为空

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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