IMCAT.DEV
로그인 가입
PHP 입문 문법

PHP 함수 정의

PHP 함수 정의 — 초급

함수 정의

1. 도입 (왜 배워야 하는가)

PHP에서 함수는 코드의 재사용성과 가독성을 높여주는 매우 중요한 요소입니다. 함수는 특정 작업을 수행하는 코드의 집합으로, 복잡한 프로그램을 더 간단하게 만들고, 유지보수를 용이하게 합니다. 실무에서는 코드의 중복을 방지하고, 특정 기능을 명확하게 분리하여 코드의 재사용성을 높이는 데 필수적입니다.

함수를 정의하지 않고 코드를 작성하면, 같은 작업을 반복적으로 작성해야 하며, 코드의 양이 늘어나면서 가독성이 떨어지고 버그가 발생할 확률이 높아집니다. 예를 들어, 쇼핑몰의 여러 페이지에서 가격을 계산하는 로직이 필요할 때, 그 코드를 매번 반복하면 관리가 힘들어집니다. 그러나 함수를 사용하면 단 한 번만 정의하고 필요할 때마다 호출할 수 있습니다.

2. 핵심 개념 설명

함수

  • 정의: 특정 작업을 수행하는 코드의 집합입니다. 입력값을 받아서 처리한 결과를 반환할 수 있습니다.
  • 비유: 함수를 요리하는 것에 비유할 수 있습니다. 요리법(함수)을 정해놓고, 재료(입력값)를 넣으면 요리가 완성됩니다(출력값).
  • 관련 용어

    용어설명
    인자함수에 전달하는 입력값
    반환값함수가 처리한 결과값
    매개변수함수 정의 시 입력값을 받을 변수

    3. 기본 코드 예제

    아래는 간단한 함수를 정의하고 호출하는 예제입니다.

    <?php
    function greet($name) {
        return "안녕하세요, " . $name . "님!";
    }
    
    $result = greet("홍길동");
    echo $result; // 실행 결과: 안녕하세요, 홍길동님!
    ?>
  • 코드 설명:
  • - function greet($name): greet이라는 이름의 함수를 정의합니다. $name은 매개변수입니다. - return "안녕하세요, " . $name . "님!";: 함수가 호출되면, 인사말과 함께 이름을 포함한 문자열을 반환합니다. - $result = greet("홍길동");: 함수를 호출하면서 "홍길동"을 인자로 전달하고, 반환된 값을 $result에 저장합니다. - echo $result;: $result의 내용을 출력합니다.

    4. 실전 활용 예제

    예제 1: 가격 계산 함수

    쇼핑몰에서 장바구니의 총 가격을 계산할 때 사용할 수 있습니다.

    <?php
    function calculateTotal($prices) {
        $total = 0;
        foreach ($prices as $price) {
            $total += $price;
        }
        return $total;
    }
    
    $cartPrices = [10000, 20000, 30000];
    $totalPrice = calculateTotal($cartPrices);
    echo "총 가격: " . $totalPrice . "원"; // 실행 결과: 총 가격: 60000원
    ?>

    예제 2: 사용자 정보 출력 함수

    사용자 정보를 출력하는 함수를 정의할 수 있습니다.

    <?php
    function displayUserInfo($name, $age) {
        return "이름: $name, 나이: $age세";
    }
    
    echo displayUserInfo("김철수", 25); // 실행 결과: 이름: 김철수, 나이: 25세
    ?>

    5. 흔한 실수와 주의사항

    실수 1: 매개변수 이름 오타

    잘못된 코드:

    function greet($name) {
        return "안녕하세요, " . $naem . "님!"; // 변수명 오타
    }

    올바른 코드:

    function greet($name) {
        return "안녕하세요, " . $name . "님!"; // 변수명 올바름
    }

    실수 2: 반환값을 잊음

    잘못된 코드:

    function add($a, $b) {
        $sum = $a + $b; // 반환값 없음
    }
    $result = add(5, 10);
    echo $result; // NULL 출력

    올바른 코드:

    function add($a, $b) {
        return $a + $b; // 반환값 추가
    }
    $result = add(5, 10);
    echo $result; // 15 출력

    6. 정리

  • 함수는 코드의 재사용성과 가독성을 높여줍니다.
  • 매개변수와 반환값을 통해 입력과 출력을 정의합니다.
  • 함수를 적절히 활용하면 코드를 더 깔끔하고 효율적으로 관리할 수 있습니다.
  • 다음에 학습하면 좋은 주제:

  • 배열과 배열 관련 함수
  • 클로저와 익명 함수
  • 객체지향 프로그래밍의 함수(메서드)