복잡한 코드, 함수로 깔끔하게 정리해보세요! PHP 함수의 모든 것을 한 글에 담았습니다.
안녕하세요! PHP를 배우다 보면 반복되는 코드가 점점 늘어나죠. 저도 처음엔 같은 코드를 복사해서 붙여넣는 걸 당연하게 여겼는데, 나중에 실수도 많고 수정도 번거롭더라고요. 이럴 때 등장하는 게 바로 함수입니다. 함수를 이용하면 코드가 더 짧고, 읽기 쉬우며, 재사용도 가능해져요. 이번 포스트에서는 PHP 함수의 기본 문법부터, 매개변수 사용법, 반환값 처리, 그리고 자주 쓰는 내장 함수까지 폭넓게 정리해드립니다. 글을 다 읽고 나면 “아, 함수는 꼭 써야겠구나”라는 생각이 드실 거예요 😊

함수가 필요한 이유
함수는 특정 작업을 반복해서 사용하고 싶을 때 아주 유용한 도구입니다. PHP 코드를 짜다 보면 같은 코드 블록이 여러 번 등장하곤 해요. 이런 경우 코드를 복사해서 붙이는 대신, 함수를 만들어서 호출만 하면 코드가 훨씬 깔끔해지고 유지보수도 쉬워집니다.
또한, 함수는 하나의 독립적인 블록이기 때문에 다른 코드와의 충돌을 방지할 수 있고, 전체적인 흐름을 더 논리적으로 구성할 수 있게 도와줍니다. 결국, 프로답게 코딩하려면 함수를 자유자재로 다룰 수 있어야 해요!
PHP 함수 선언과 호출 문법
PHP에서 함수를 선언하려면 function
키워드를 사용합니다. 함수 이름 뒤에 괄호 ()
와 중괄호 {}
를 붙여 코드 블록을 구성합니다. 함수를 만든 후엔, 언제든지 호출해서 실행할 수 있어요.
예제 코드 | 설명 |
---|---|
function sayHello() { echo "안녕하세요!"; } |
sayHello라는 함수를 선언 |
sayHello(); |
sayHello 함수를 호출 |
function today() { return date("Y-m-d"); } |
함수에서 현재 날짜를 반환 |
매개변수와 기본값 처리
함수는 외부에서 전달받은 값을 사용할 수 있도록 매개변수를 받을 수 있습니다. 매개변수를 여러 개 받을 수도 있고, 기본값을 설정할 수도 있어요.
- 기본 매개변수:
function greet($name) { ... }
- 기본값 설정:
function greet($name = "친구") { ... }
- 복수 매개변수:
function calc($a, $b) { ... }
function greet($name = "친구") {
echo "안녕하세요, $name 님!";
}
greet("지민"); // "안녕하세요, 지민 님!"
greet(); // "안녕하세요, 친구 님!"
return으로 값 반환하기
함수는 단순히 작업만 수행하는 것이 아니라 결과값을 반환할 수도 있습니다. return
키워드를 사용하면, 함수를 호출한 곳에서 결과를 변수에 저장하거나 바로 사용할 수 있어요.
function add($x, $y) {
return $x + $y;
}
$sum = add(10, 20);
echo "합계: " . $sum;
이렇게 하면 함수가 계산한 값을 받아서 다른 계산이나 출력에 활용할 수 있어, 복잡한 로직도 깔끔하게 정리할 수 있습니다.
자주 쓰는 PHP 내장 함수
PHP는 이미 만들어진 수많은 내장 함수들을 제공합니다. 이 함수들만 잘 활용해도 엄청난 개발 속도 향상이 가능해요!
함수명 | 기능 |
---|---|
strlen() |
문자열 길이 구하기 |
strtoupper() |
문자열을 대문자로 변경 |
array_push() |
배열에 요소 추가 |
in_array() |
값이 배열에 있는지 확인 |
date() |
현재 날짜/시간 포맷팅 |
입문자를 위한 함수 사용 팁
함수를 더 잘 활용하고 싶은 입문자분들을 위해 팁을 모아봤습니다!
- 함수 이름은 동작을 잘 나타내도록 명확하게 짓기
- 비슷한 기능은 하나의 함수로 묶기
- 기본값을 잘 활용하면 호출이 편해져요
- return 값을 활용해 결과를 다른 함수에 넘기기
- 너무 많은 역할을 한 함수는 쪼개기
네. PHP는 스크립트 해석 시 전체를 먼저 읽기 때문에, 함수 선언이 코드 아래 있어도 호출이 가능합니다.
아니요. 함수 안에서 선언된 변수는 지역 변수로, 함수 외부에서는 접근할 수 없습니다. 전역 변수로 사용하려면 global
키워드를 써야 해요.
필수는 아닙니다. 출력만 하는 함수라면 return 없이도 괜찮아요. 하지만 값을 반환해 다른 곳에서 쓰려면 반드시 return이 필요해요.
물론 가능합니다. 함수 안에서 다른 함수를 부르면 코드를 더 깔끔하고 구조적으로 만들 수 있어요. 특히 기능을 분리할 때 자주 씁니다.
기술적으로 가능하지만, 한 함수가 출력도 하고 값을 반환하면 혼란스러울 수 있어요. 하나의 역할만 하는 게 좋습니다 (SRP 원칙).
에러가 발생합니다. PHP에서는 동일한 이름의 함수를 두 번 이상 정의할 수 없어요. 이름 충돌에 주의하세요!
함수는 처음엔 어렵게 느껴지지만, 익숙해질수록 개발이 훨씬 편해지고 즐거워져요. 저도 예전에 반복문에 코드를 줄줄 복붙하다가, “이걸 함수로 묶으면 어떨까?” 하는 생각에 처음 함수를 써봤죠. 그리고 그 순간! 코드가 너무 깔끔해지는 걸 느끼면서 “아… 이게 진짜 개발이구나!” 싶었어요. 지금은 간단한 출력도 습관처럼 함수로 감싸서 쓰게 되더라고요. 여러분도 오늘부터 함수 하나씩 연습해보세요. “이 코드, 함수로 뺄 수 없을까?” 이런 질문을 계속 던지면 실력이 정말 빨리 늘어요. 여러분의 코딩, 함수와 함께 훨씬 더 우아해지길 응원합니다 💜
'💻 쇼핑몰 자동화 & 웹 개발 가이드' 카테고리의 다른 글
[PHP 입문] 세션(Session) 개념과 로그인 상태 유지 구현 (28) | 2025.04.14 |
---|---|
[PHP 입문] 로그인 시스템 완성: 세션, 보안 처리까지 (69) | 2025.04.11 |
[PHP 입문] 기초 문법 완전 가이드: 조건문, 반복문, 변수 (56) | 2025.04.09 |
[PHP 입문] 변수 마스터 가이드: 스코프, 동적 변수까지 (46) | 2025.04.08 |
[PHP 입문] VS Code 설정 및 디버깅 완전 가이드 (40) | 2025.04.07 |