PHP | function 함수 정의, 호출

|

요약

function 함수명() {
    echo "함수내용";
}

함수를 설정하여 사용할 수 있습니다.

매개변수 설정

function 함수명 ($매개변수1, $매개변수2){
    echo $매개변수1 + $매개변수2;
}

매개변수를 설정하면 내부에서도 사용할 수 있게 됩니다

변수에 함수 결과값 출력

$함수결과 = 함수명(1,2);
  1. 변수값을 할당합니다.
  2. 함수를 실행하여 값을 $함수결과에 저장합니다.

함수 값 반환

function 함수명 ($매개변수1, $매개변수2){
    return $매개변수1 + $매개변수2;
}

위와 같이 함수 값을 리턴시킬 수도 있습니다.

함수에 타입 설정

function 함수명 (매개변수1, 매개변수2) : float
{
    return $매개변수1 + $매개변수2;
}

함수에 타입을 설정할 수도 있습니다.

  • 숫자 : int
  • 소수점 숫자 : float
  • 문자 : string
  • 참/거짓 : bool
  • 배열 : array
  • 객체 : object
  • 클래스 : 클래스명, 인터페이스명

<?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 인터프리터가 함수를 정의할 때 이미 함수 호출 코드를 찾아보기 때문입니다

참조

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

클릭하여 복사