无限级循环时,当满足条件,如何直接结束循环呢?
采用break需要知道最外层是第几层。案例是:
用递归函数实现某个功能,函数会返回递归过程中所存储的资料,在函数中有用到foreach遍历数组,
所以当有递归时,foreach就会无限循环。

解决方案 »

  1.   

    最外层做判断 然后break跳出即可 比如
    $a =array(1,2,3,4.....10);
    function aaa($a){
    for($a as $k=>$v){
       if($v>10){
      break;
    }else{
     unset($a[$k]);
      aaa($a);
    }
    }
    }
      

  2.   

    虽然不推荐使用,但是php中确实有c语言中的goto语法(php 5.3+)while( true ){
        if(meet_condition){
            goto end;
        }
    }end:
       echo "end";建议lz还是贴出自己的程序结构,因为一般情况下,是不推荐使用goto语句的。