학습
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. 정리
다음에 학습하면 좋은 주제: