<?php
function filter(){
for($i=0;$i<=100;$i++){
if(call_user_func_array('one',array($i))){
continue;
echo $i."<br>";
}
}
} function one($num){
return $num%3==0;
}

echo filter();为什么这段代码无法显示的,我注释掉一些代码,循环都是正常的,求高手!回调函数

解决方案 »

  1.   

    把 continue; 去掉就可以显示了
      

  2.   

    $num%3==0 不就是 3 的倍数吗?你最好先描述一下你的需求
      

  3.   

    function filter(){
      for($i=0;$i<=100;$i++){
        if(call_user_func_array('one',array($i))){
          echo $i."<br>";
        }
      }
    }function one($num){
      return $num % 3;
    }echo filter();
      

  4.   

    为什么不用contiune的呢 亲
      

  5.   

    你想用 contiune ?那么function filter(){
      for($i=0;$i<=100;$i++){
        if(call_user_func_array('one',array($i))){
          contiune;
        }
        echo $i."<br>";    
      }
    }
     
    function one($num){
      return $num % 3 == 0;
    }
     
    echo filter();