IT
PHP 함수
1. 함수 정의와 호출
함수 정의
function 함수이름() {
// 실행할 코드
}
함수 호출
함수이름();
예제
function sayHello() {
echo "안녕하세요<br>";
}
sayHello(); // 함수 호출
2. 매개변수 (Parameters)
함수에 값을 전달할 수 있습니다.
function greet($name) {
echo "안녕하세요, $name<br>";
}
greet("홍길동");
매개변수 여러 개
function add($a, $b) {
echo $a + $b;
}
add(3, 5); // 8 출력
3. 반환값 (Return)
함수는 return 키워드를 사용해 값을 반환할 수 있습니다.
function multiply($x, $y) {
return $x * $y;
}
$result = multiply(3, 4);
echo $result; // 12
return 이후의 코드는 실행되지 않습니다.
4. 기본값 (Default Values)
함수 매개변수는 기본값을 가질 수 있습니다.
function greet($name = "손님") {
echo "안녕하세요, $name<br>";
}
greet(); // 안녕하세요, 손님
greet("지민"); // 안녕하세요, 지민
기본값이 있는 매개변수는 항상 뒤에 위치해야 합니다.
5. 스코프 (Scope, 변수 범위)
PHP에는 세 가지 주요 스코프가 있습니다:
-
Local (지역 변수): 함수 내부에서 정의된 변수
-
Global (전역 변수): 함수 외부에서 정의된 변수
-
Static (정적 변수): 함수 내부에서 선언되며, 호출 간 값을 유지
지역 변수
function test() {
$x = 10; // 함수 안에서만 사용 가능
}
전역 변수 사용
$x = 5;
function showX() {
global $x; // 전역 변수 $x를 사용
echo $x;
}
또는 GLOBALS 배열을 사용:
function showX() {
echo $GLOBALS['x'];
}
정적 변수
function counter() {
static $count = 0;
$count++;
echo $count . "<br>";
}
counter(); // 1
counter(); // 2
counter(); // 3
6. 참조 전달 (Pass by Reference)
기본적으로 함수에 전달된 인자는 복사됩니다 (값에 의한 전달). 참조로 전달하려면 &를 사용합니다.
function addOne(&$num) {
$num++;
}
$a = 5;
addOne($a);
echo $a; // 6
7. 가변 인자 함수 (Variable-length Argument List)
...
연산자 (PHP 5.6+)
function sum(...$numbers) {
$total = 0;
foreach ($numbers as $num) {
$total += $num;
}
return $total;
}
echo sum(1, 2, 3, 4); // 10
8. 함수 존재 여부 확인
동적으로 함수가 정의되어 있는지 확인할 수 있습니다.
if (function_exists("myFunction")) {
myFunction();
}
9. 익명 함수 (Anonymous Function)
이름 없이 정의된 함수이며 변수에 저장하거나 콜백으로 전달 가능
$greet = function($name) {
return "안녕하세요, $name";
};
echo $greet("지은");
10. 화살표 함수 (Arrow Function, PHP 7.4+)
간단한 표현식에 적합. use 없이 상위 스코프 변수를 자동 캡처
$multiply = fn($a, $b) => $a * $b;
echo $multiply(3, 4); // 12
요약
개념
설명
function
함수 정의
return
함수에서 값 반환
기본값 매개변수
인자 없이도 함수 호출 가능
global, static
변수 스코프 제어
&
참조 전달
...
가변 인자 지원
익명 함수
이름 없는 함수, 콜백 등에 사용
댓글
아직 댓글이 없습니다.
로그인 후 댓글을 남길 수 있습니다.