4. 함수 (Functions)
함수 정의 및 호출 (Defining and Calling Functions)
PHP에서 함수는 function
키워드를 사용하여 정의합니다. 함수는 특정 작업을 수행하는 코드 블록이며, 필요할 때 호출할 수 있습니다.
function sayHello() { echo "Hello, World!"; } sayHello(); // 함수 호출
매개변수와 반환값 (Parameters and Return Values)
함수는 매개변수를 통해 데이터를 전달받을 수 있으며, return
키워드를 사용하여 값을 반환할 수 있습니다.
매개변수 (Parameters)
function greet($name) { echo "Hello, $name!"; } greet("Alice"); // 출력: Hello, Alice!
반환값 (Return Values)
function add($a, $b) { return $a + $b; } $result = add(3, 4); // $result는 7 echo $result;
변수 범위 (Variable Scope)
지역 변수 (Local Variables)
함수 내에서 정의된 변수는 해당 함수 내에서만 유효합니다.
function test() { $localVar = "I am local"; echo $localVar; } test(); // 출력: I am local // echo $localVar; // 오류: 변수 범위 밖에서 접근
전역 변수 (Global Variables)
함수 외부에서 정의된 변수는 전역 변수입니다. 함수 내에서 전역 변수를 사용하려면 global
키워드를 사용합니다.
$globalVar = "I am global"; function testGlobal() { global $globalVar; echo $globalVar; } testGlobal(); // 출력: I am global
익명 함수 및 클로저 (Anonymous Functions and Closures)
익명 함수 (Anonymous Functions)
익명 함수는 이름이 없는 함수입니다. 변수에 할당하거나 콜백으로 사용할 수 있습니다.
$greet = function($name) { echo "Hello, $name!"; }; $greet("Bob"); // 출력: Hello, Bob!
클로저 (Closures)
클로저는 자신이 정의된 범위 밖의 변수에 접근할 수 있는 익명 함수입니다. use
키워드를 사용하여 외부 변수를 가져올 수 있습니다.
$message = "Hello, World!"; $closure = function() use ($message) { echo $message; }; $closure(); // 출력: Hello, World!
위 예제에서는 익명 함수가 $message
변수에 접근할 수 있도록 use
키워드를 사용하였습니다. 클로저는 주로 콜백 함수나 특정 범위 내의 데이터를 캡슐화할 때 유용합니다.