IMG-LOGO
공지사항 :

PHP 함수

lmkfox - 2025-07-30 06:20:51 5 Views 0 Comment

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

변수 스코프 제어

&

참조 전달

...

가변 인자 지원

익명 함수

이름 없는 함수, 콜백 등에 사용


댓글