2011-05-04 2 views
1

나는 코딩과 PHP에 익숙하지 않고 루핑 할 때 return을 어떻게 사용할 수 있는지 궁금합니다. 예를 들어, 나는 echo/echo를 사용하지 않는다. 루프에서 return를 넣어 경우, 루프 만합니다 (return 문까지) 하나의 반복을 할 것입니다 수 있도록PHP 반환 루프 결과

$start = 1; 
$end = 11; 

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

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

} 
+0

왜 당신이 뭔가를 반환 할 수 있습니까? 그리고 어디로? – Dogbert

+1

재미있는 점 : 어디에서 물건을 돌려 받고 싶습니까? 나는 어떤 기능을 보지 못한다. 그리고 만약 여러분이 무언가를 보이고 싶다면,'echo'로 무엇을할까요? – KingCrunch

+0

@ Dogbert/KingCrunch - 결과를 다른 함수로 반환하기를 원하기 때문에 결과를 반환하고 싶습니다. – PeanutsMonkey

답변

8

음, return는 기능을 종료합니다.

당신은 array의 모든 값을 수집하고 배열을 반환 할 수 있습니다 range() :

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

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

    return $values; 
} 

연속 번호를 생성하는 기능은 이미 존재 말했다.

+0

감사합니다. 내가 묻는 이유는 한 함수의 값을 다른 함수의 값으로 되돌리고 싶기 때문입니다. 아주 도움이되는 대답. 값을 배열에 넣을 수 있다고 생각하지 않았습니다. – PeanutsMonkey

2

return은 함수 호출 결과를 호출 한 함수 또는 스크립트로 다시 전송하기위한 것입니다. 이것은 매개 변수를 함수에 전달하는 것과 반대입니다.

동일한 범위에서 변수를 루핑하는 것이므로 return은 필요하지 않습니다. 인쇄는 echo 또는 print을 통해 이루어집니다. 그러나 루프에서 값을 작성하고 루프가 완료되면이를 인쇄하도록 선택할 수 있습니다.

또한 루프에있는 경우 해당 루프를 즉시 중지하려면 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 
+0

감사합니다. '계속'에 대해서 몰랐습니다. 코드 예제에서 어떻게 사용합니까? – PeanutsMonkey

+1

내 답변에 일부 코드가 추가되었습니다. 도움이 되었기를 바랍니다. –

+0

매우 도움이됩니다. 감사. – PeanutsMonkey

1

그냥 사용

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

echo foobar(); 
+0

감사. 아주 간단한 해결책. 나는 그것을 좋아한다. 매우 도움이됩니다. – PeanutsMonkey

0

반환 당신이 현재 그 기능을 종료합니다 당신이 시나리오를. 우리에게 반환 함수를 사용하는 좋은 시나리오는 아닙니다.

아래 예제는 코드와 동일하게 작동하지만 for 루프뿐만 아니라 함수도 사용합니다. 희망이 당신의 질문에 대한 답변.

$start = 11; 
$end = 20; 

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

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

감사합니다. 아주 좋은 시나리오를 제공하지 않아서 미안합니다. 함수의 값을 다른 것으로 반환하는 방법을 배우고 싶습니다. – PeanutsMonkey

0

당신은 .=와 루프 내부 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 
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; 
    }