PHP返回循环结果

时间:2011-05-04 23:14:24

标签: php loops return

我是编码和PHP的新手,我想知道如何在循环时使用return。例如,我想返回/显示1-10但不使用echo。

$start = 1;
$end = 11;

for($start; $start < $end; $start=$start+1) {

echo $start; //how can I use return?

}

6 个答案:

答案 0 :(得分:10)

好吧,return将退出该函数,因此如果将return置于循环中,则循环将只执行一次迭代(直到return语句)。

您可以收集array中的所有值并返回数组:

function myFunction() {
    $start = 1;
    $end = 11;
    $values = array();

    for($start; $start < $end; $start=$start+1) {
       $values[] = $start;
    }

    return $values;
}

也就是说,产生连续数字的函数已经存在:range()

答案 1 :(得分:2)

return用于将函数调用的结果发送回调用它的函数或脚本。这与将参数传递给函数相反。

您正在做的是循环同一范围内的变量,因此不需要return。通过echoprint进行打印。但是,您可以选择在该循环中构建一个值,并在循环完成后打印它。

此外,如果您处于循环中并且想要立即停止该循环,请使用break;如果你想跳过你正在进行的迭代并转到下一个,请使用continue

这是some additional reading


关于continue的更多说明。无论出于何种原因,我们都不想在$i6时做任何事情:

$start = 1;
$end = 11;

for ($i = $start; $i < $end; $i++) 
// changed this to iterate over $i for readability/clarity
{
    if ($start == 6)
    {
        // essentially, continue just skips this iteration of 
        // the loop, goes back to the top, iterates $i based on 
        // that third parameter in the for() declaration, and 
        // continues on.

        continue;
    }


    echo $start; //how can I use return?
}

// output: 1234578910

答案 2 :(得分:1)

只需使用

function foobar()
{   
   $output = '';
   for ( $i = 1 ; $i <= 10 ; $i++ )
   {
      $output .= $i;
   }
   return $output
}

echo foobar();

答案 3 :(得分:1)

您可以通过使用return在循环内外定义您想要.=的变量来实现它。

这是一个有效的例子:

function my_function() {

// I am the variable to be return-ed
$k = "My World<br/>";

for ($z=1; $z<=3; $z++) {
$v = 'Here'.$z;

// I am the same variable but I am going inside the loop
$k .= $v . "<br/>";
}

//I am not always important to be here!
$k .= "Is Awesome";

// This is the show time..
return $k;

} 

my_function();

<强>输出:

My World
Here1
Here2
Here3
Is Awesome 

答案 4 :(得分:0)

返回将结束您当前所在的功能。您给我们的场景不是使用返回功能的好方法。

下面的示例将与您的代码相同,但使用函数和for循环。希望这回答你的问题。

$start = 11;
$end = 20;

for($start; $start <= $end; $start++){
     echo calculateValue($start);
}

function calculateValue($value){
    return $value - 10;
} 

答案 5 :(得分:0)

 function loop_kec($ar_kec) {
        $total_data = count($ar_kec) - 1;
        //$return_kec = array();
        for ($e = 0; $e < $total_data; $e++) {
            $return_kec .= 'kecamatan = ' . "'$ar_kec[$e]'" . ' or ';
        }
        $return_kec .= 'kecamatan = ' . "'$ar_kec[$total_data]'";
        return $return_kec;
    }