프로그래밍 언어/PHP

함수 값의 반환

· 코딩마이데이

함수를 사용하다 보면 정의 함수에서 얻어진 결과 값을 호출한 함수 측에서 돌려줄 필요가 있습니다. 이것을 함수 값으 반환이라고 하며 사용 형식은 다음과 같습니다.

function 함수명(매개변수1, 매개변수2, ...) {
     ...
     return 변수명; // 함수 값의 반환
}
...
함수명(인수1, 인수2, ...)

 

ex4-6.php에 함수 값의 반환의 개념을 적용하여 다시 작성해보면 다음과 같습니다.

 

04/ex4-7.php

<?php
    function hap($n) { // 02
        $sum = 0;
        for ($i = 1; $i <= $n; $i++)
            $sum += $i;
        
        return $sum; // 함수 값의 반환
    } // 08

    echo "1~10 합계 : ".hap(10)."<br>"; // 10
    echo "1~100 합계 : ".hap(100)."<br>"; // 11
?>

ex4-7.php의 실행 결과

 

 

02~08 hap() 함수를 정의합니다. hap() 함수는 1에서 n까지의 정수의 합을 구한 결과인 변수 $sum을 7행의 return문에 의해 호출한 함수 측에 반환합니다.

 

10 hap(10)dms 2~8행의 정의 함수 hap()을 호출합니다. 정의 함수 hap()을 실행한 최종 결과 값인 $sum(값:55)은 7행 return $sum에 의해 호출한 함수 측에 반환됩니다. 따라서 $hap(10)dms $sum의 값인 55를 가집니다.

 

echo문에 의해 실행 결과의 첫 번째 줄에 나타난 포맷으로 1~10의 합계 55가 출력됩니다.

 

11 hap(100)은 2~8행 정의 함수 hap()를 재호출합니다. 정의 함수 hap()를 실행한 최종 결과 값인 $sum(값:5050)이 호출한 함수 측에 반환됩니다. 따라서 $hap(100)은 $sum의 값 5050을 가집니다.

 

echo문에 의해 실행 결과의 두 번째 줄에서와 같은 결과가 출력됩니다.

 

사용자 함수를 이용하여 원의 넓이를 구하는 다음의 프로그램을 살펴봅시다.

<?php
    function circle_area($r) { // 02
        $result = $r * $r * 3.14;
        
        return $result;
    } // 06

    $radius = 10; // 반지름 // 08
    $area = circle_area($radius); // 09
    
    echo "반지름 : ".$radius."<br>"; // 11
    echo "원의 넓이 : ".$area; // 12
?>

 

 

02~06 circle_area() 함수를 정의합니다. circle_area() 함수는 원의 넓이를 구해 호출한 함수 측에 반환하는 역할을 수행합니다.

 

08 $radius에 원의 반지름 10을 입력합니다.

 

09 오른쪽에 있는 circle_area($radius)는 2~6행에 정의 함수 circle_areal 함수를 호출합니다. 이때 인수 Sradius(값: 10)는 정의 함수의 매개변수 $r에 복사됩니다. 정의 함수 circle_area0가 실행되면 3행에 의해 얻어진 원의 넓이를 의미하는 변수$result(값:314)는 5행의 return Sresult에 의해 호출 함수 측에 반환됩니다.


함수 호출 후에 cir_area(Sradius)는 정의 함수에서 반환된 5행 Sresult의 값 314를 가집니다. 이 값을 $area에 저장하면 $area는 314의 값을 가집니다.

 

11 반지름 $radius 값 10을 실행 결과의 첫 번째 줄에서와 같은 포맷으로 출력합니다.

 

12 원의 넓이 $area를 실행 결과의 두 번째 줄에서와 같이 출력합니다.

 

'프로그래밍 언어 > PHP' 카테고리의 다른 글

배열이란?  (0) 2026.05.17
함수 활용  (0) 2026.05.17
매개변수  (0) 2026.05.15
프로그램 진행 순서  (0) 2026.05.14
사용자 함수  (0) 2026.05.14