function 함수명() {
echo "함수내용";
}함수를 설정하여 사용할 수 있습니다.
function 함수명 ($매개변수1, $매개변수2){
echo $매개변수1 + $매개변수2;
}매개변수를 설정하면 내부에서도 사용할 수 있게 됩니다
$함수결과 = 함수명(1,2);function 함수명 ($매개변수1, $매개변수2){
return $매개변수1 + $매개변수2;
}위와 같이 함수 값을 리턴시킬 수도 있습니다.
function 함수명 (매개변수1, 매개변수2) : float
{
return $매개변수1 + $매개변수2;
}함수에 타입을 설정할 수도 있습니다.
intfloatstringboolarrayobject<?php
class C {}
function getC(): C {
return new C;
}
var_dump(getC());
?>
// 출력
// object(C)#1 (0) {
// }클래스를 기준으로 함수에 적용할 수도 있습니다.
gettype( 함수명(1,2) );declare(strect_types = 1); // strict 모드 활성화
function sum($x, $y) : float // 반환값 타입 float 설정
{
return $x + $y
}
var_dump(sum(1 + 2)); // 에러
var_dump(sum(1 + 1.5)); // 2.5 반환float 타입으로 설정하면 소수점만 저장할 수 있습니다.
strict 모드를 활성화 하면 느슨한 PHP 환경에 긴장감을 줄 수 있게 됩니다.
while 문과 같은 반복문에서 함수를 정의하면 적용되지 않을 수 있습니다
함수 정의는 맨 끝에 두어도 정상적으로 실행됩니다. PHP 인터프리터가 함수를 정의할 때 이미 함수 호출 코드를 찾아보기 때문입니다