当前位置:Gxlcms > PHP教程 > 关于phpif(){}和if()的区别

关于phpif(){}和if()的区别

时间:2021-07-01 10:21:17 帮助过:1人阅读

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

    function filter($fun){
                for($i=0; $i<=100; $i++){
                       if(call_user_func_array($fun, array($i)))
                            continue;
                            echo $i."
"; } } //求被三整除 function one($num){ return $num % 3 ==0; } //翻转字符串 function two($num){ return $num == strrev($num); } filter("one"); echo "
"; filter('two');

显示结果

    function filter($fun){
                for($i=0; $i<=100; $i++){
                       if(call_user_func_array($fun, array($i))){
                            continue;
                            echo $i."
"; } } } //求被三整除 function one($num){ return $num % 3 ==0; } //翻转字符串 function two($num){ return $num == strrev($num); } filter("one"); echo "
"; filter('two');

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

回复内容:

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

    function filter($fun){
                for($i=0; $i<=100; $i++){
                       if(call_user_func_array($fun, array($i)))
                            continue;
                            echo $i."
"; } } //求被三整除 function one($num){ return $num % 3 ==0; } //翻转字符串 function two($num){ return $num == strrev($num); } filter("one"); echo "
"; filter('two');

显示结果

    function filter($fun){
                for($i=0; $i<=100; $i++){
                       if(call_user_func_array($fun, array($i))){
                            continue;
                            echo $i."
"; } } } //求被三整除 function one($num){ return $num % 3 ==0; } //翻转字符串 function two($num){ return $num == strrev($num); } filter("one"); echo "
"; filter('two');

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

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

等价于

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

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

php的if和C的if一样。

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

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

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

if(true){}:

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

if(true):

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

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

人气教程排行