함수(Function)란?
특정 작업을 수행하는 코드 블록이다.
function 함수이름(매개변수) {
// 실행할 코드
return 반환값;
}
<?php
function greet($name) {
echo "안녕하세요, $name 님!<br>";
}
greet("혜진");
greet("지우");
?>
안녕하세요, 혜진 님!
안녕하세요, 지민 님!
<?php
function add($a, $b) {
return $a + $b;
}
$result = add(3, 5);
echo "3 + 5 = $result";
?>
3 + 5 = 8
return은 함수의 실행을 종료하고 값을 돌려준다.
이후 코드는 실행되지 않는다.
<?php
function welcome($name = "손님") {
echo "환영합니다, $name 님!<br>";
}
welcome("혜진");
welcome();
?>
환영합니다, 혜진 님!
환영합니다, 손님 님!
<?php
function introduce($name, $age, $job) {
echo "안녕하세요, 저는 $name 입니다. 나이는 $age살이고, 직업은 $job 입니다.<br>";
}
introduce("혜진", 27, "개발자");
introduce("지우", 30, "디자이너");
?>
안녕하세요, 저는 혜진 입니다. 나이는 27살이고, 직업은 개발자 입니다.
안녕하세요, 저는 지민 입니다. 나이는 30살이고, 직업은 디자이너 입니다.
<?php
function testScope() {
$x = 10; // 지역 변수
echo "함수 내부 x: $x<br>";
}
testScope();
echo "함수 외부에서 x: $x"; // 에러! 접근 불가
?>
함수 내부 x: 10
(Notice: Undefined variable: x)
함수 안에서 선언된 변수는 함수가 끝나면 사라진다.
<?php
$x = 5;
function showValue() {
global $x;
echo "함수 내부에서 전역 변수 x: $x<br>";
}
showValue();
echo "함수 외부에서 x: $x<br>";
?>
함수 내부에서 전역 변수 x: 5
함수 외부에서 x: 5
global은 함수 내부에서 전역 변수에 접근할 때 사용한다.
<?php
function counter() {
static $count = 0; // 함수가 호출되어도 초기화되지 않음
$count++;
echo "현재 count: $count<br>";
}
counter();
counter();
counter();
?>
함수 안에서 값을 유지하고 싶을 때 사용한다.
현재 count: 1
현재 count: 2
현재 count: 3
static 변수는 함수가 끝나도 메모리에서 사라지지 않고 값이 누적된다.