프로그래밍/PHP

[PHP 수업] 7강 - 함수

월횽 2024. 8. 1. 16:42
728x90
반응형
SMALL

함수는 특정 작업을 수행하기 위해 코드 블록을 정의하고 재사용할 수 있게 해주는 중요한 구성 요소입니다. 이번 강의에서는 함수의 정의와 호출, 매개변수와 반환값, 변수의 범위, 재귀 함수, 내장 함수와 사용자 정의 함수에 대해 다루겠습니다.

 

1. 함수의 정의 및 호출

 

1-1. 함수 정의

함수를 정의할 때는 function 키워드를 사용합니다. 함수 이름과 괄호를 통해 매개변수를 정의할 수 있으며, 함수 본문에 실제 작업을 수행할 코드를 작성합니다.

function greet() {
    echo "Hello, World!";
}

 

728x90

1-2. 함수 호출

정의한 함수를 호출할 때는 함수 이름과 괄호를 사용합니다.

greet(); // 출력: Hello, World!

 

 

2. 매개변수와 반환값

 

2-1. 매개변수

함수에 값을 전달하려면 매개변수를 사용합니다. 매개변수는 함수 정의에서 괄호 안에 정의됩니다.

function add($a, $b) {
    return $a + $b;
}

$result = add(5, 3); // $result는 8

 

반응형

2-2. 반환값

함수는 return 키워드를 사용하여 값을 반환할 수 있습니다. 반환된 값은 함수 호출에서 사용할 수 있습니다.

function multiply($a, $b) {
    return $a * $b;
}

$product = multiply(4, 6); // $product는 24

 

 

3. 변수의 범위와 함수 내 변수

 

3-1. 지역 변수 (Local Variable)

함수 내에서 선언된 변수로, 함수 밖에서는 접근할 수 없습니다.

function example() {
    $localVar = "I am local";
    echo $localVar;
}

example(); // 출력: I am local
// echo $localVar; // 오류: $localVar는 정의되지 않았습니다.
SMALL

3-2. 전역 변수 (Global Variable)

함수 밖에서 선언된 변수로, 함수 내에서 사용하려면 global 키워드를 사용해야 합니다.

$globalVar = "I am global";

function example() {
    global $globalVar;
    echo $globalVar;
}

example(); // 출력: I am global

 

3-3. 정적 변수 (Static Variable)

정적 변수는 함수가 호출될 때마다 초기화되지 않고, 함수가 끝난 후에도 값이 유지됩니다.

function countCalls() {
    static $count = 0;
    $count++;
    echo $count;
}

countCalls(); // 출력: 1
countCalls(); // 출력: 2
countCalls(); // 출력: 3

 

 

4. 재귀 함수

재귀 함수는 자기 자신을 호출하여 반복 작업을 수행하는 함수입니다. 주의할 점은 종료 조건을 명확히 설정해야 무한 루프에 빠지지 않습니다.

function factorial($n) {
    if ($n <= 1) {
        return 1;
    } else {
        return $n * factorial($n - 1);
    }
}

echo factorial(5); // 출력: 120

 

 

5. 내장 함수와 사용자 정의 함수

 

5-1. 내장 함수

PHP는 다양한 내장 함수를 제공합니다. 예를 들어, 문자열 처리, 배열 조작 등 다양한 작업을 쉽게 수행할 수 있습니다.

echo strlen("Hello"); // 문자열 길이 출력: 5
echo array_sum([1, 2, 3]); // 배열의 합 출력: 6

 

 

5-2 사용자 정의 함수

사용자가 직접 정의하여 사용하는 함수입니다. 위에서 설명한 함수 정의 방법을 통해 작성할 수 있습니다.

 

 

- 이전 수업 목록

 

 

 

 

 

728x90
반응형
LIST