return的问题。。。

2
@Ta 2013-11-27 4310点击
function内的for循环里面我用return返回循环结果,可只返回第一次循环就停止循环了。。。求解决办法~加了if条件再返回都没用

大神们帮我看看哈~return换成echo就正常
<?php
$cc='<?php
/*
*测试代码
*/
$t="nice";
echo $t;
?>';
function cs($code){
$c=htmlentities($code,ENT_NOQUOTES,'utf-8');
$e=explode('
',$c);
$n=count($e);
for($i=0;$i<$n;$i++){
$u=$i+1;
$result=$u.'. '.$e[$i].'<br>';
return $result;
}
}
echo cs($cc);
?>
回复列表(12|隐藏机器人聊天)
  • @Ta / 2013-11-27 / /
    被禁言
    用户被禁言,发言自动屏蔽。
  • @Ta / 2013-11-27 / /
    代码呢。。。。
  • @Ta / 2013-11-27 / /
    不管怎样,return后都会立即结束代码块的执行,建议将结果保存在变量中再统一return
  • 2
    @Ta / 2013-11-27 / /
    @方哥_不活跃@苍月无痕@暮雨秋晨,大神们帮我看看哈~return换成echo就正常
    $cc='<?php
    /*
    *测试代码
    */
    $t="nice";
    echo $t;
    ?>';
    function cs($code){
    $c=htmlentities($code,ENT_NOQUOTES,'utf-8');
    $e=explode('
    ',$c);
    $n=count($e);
    for($i=0;$i<$n;$i++){
    $u=$i+1;
    $result=$u.'. '.$e[$i].'<br>';
    return $result;
    }
    }
    echo cs($cc);
    
  • @Ta / 2013-11-27 / /
    @齐子,问题在第19行。。echo cs($cc);$cc这个变量你都没有定义,那你能return回去什么?还有就是不明白你为什么会这样写。。
    $cc='<?php
    /*
    *测试代码
    */
    $t="nice";
    echo $t;
    ?>';
    变量定义在<?标签外面?这样它能解释出来?
  • 2
    @Ta / 2013-11-27 / /
    @苍月无痕,这个。。。冒昧问一句,你会php么?
  • @Ta / 2013-11-27 / /
    @齐子,会点。。。。因为我也是php新手。。
  • 2
    @Ta / 2013-11-27 / /
    @苍月无痕,你再仔细看看
  • @Ta / 2013-11-27 / /
    @齐子,好吧。。。这回懂了。。。你写的代码真牛逼。。原来你要这样做。。。-_-
  • @Ta / 2013-11-27 / /
    @齐子,return 会退出当前函数,所以只能返回一个值,如果你要输出可以直接在函数里输出,或者先将值存在数组里,然后返回数组
  • 2
    @Ta / 2013-11-27 / /
    @runvx,怎样生成数组?谢谢啦
  • @Ta / 2013-11-27 / /
    @齐子
    <?php
    $cc='<?php
    /*
    *测试代码
    */
    $t="nice";
    echo $t;
    ?>';
    function cs($code){
    $c=htmlentities($code,ENT_NOQUOTES,'utf-8');
    $e=explode('
    ',$c);
    $n=count($e);
    for($i=0;$i<$n;$i++){
    $u=$i+1;
    $result=$u.'. '.$e[$i].'<br>';
    $a[] = $result;
    }
    return $a;
    }
    print_r(cs($cc));
    ?>
    
添加新回复
回复需要登录