PHpullh
학습 라이브러리/PHP/메모이제이션 함수

PHP · 함수

메모이제이션 함수

재귀 함수에 static 캐시를 붙여 메모이제이션하는 예제입니다.

함수고급memoizationcacherecursion

핵심 설명

재귀 함수에 static 캐시를 붙여 메모이제이션하는 예제입니다.

PHP code

<?php
function fib(int $n): int {
    static $cache = [0 => 0, 1 => 1];
    if (!array_key_exists($n, $cache)) {
        $cache[$n] = fib($n - 1) + fib($n - 2);
    }
    return $cache[$n];
}

echo fib(10);

학습 팁

함수 예제는 인자 타입, 반환 타입, 호출 방식 세 가지를 같이 확인하면 이해가 빠릅니다.

주의할 점

인자 순서와 기본값, 참조 전달 여부를 혼동하면 함수 호출이 쉽게 꼬입니다.

자주 묻는 질문

메모이제이션 함수란 무엇인가요?

재귀 함수에 static 캐시를 붙여 메모이제이션하는 예제입니다.

메모이제이션 함수 학습 시 주의할 점은 무엇인가요?

인자 순서와 기본값, 참조 전달 여부를 혼동하면 함수 호출이 쉽게 꼬입니다.