기본 예제
함수 memoize($func)
{
반환 함수 () 사용 ($func) {
static $cache = [];
$args = func_get_args();
$key = serialize($args);
$cached = true;
if (!isset($cache[$key])) {
$cache[$key] = $func(...$args);
$cached = false;
}
반환 ['결과' => $cache[$key], '캐시됨' => $cached];
};
}
$memoizedAdd = memoize(
function ($num) {
반환 $num + 10;
}
);
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => false]
var_dump($memoizedAdd(6)); // ['result' => 16, 'cached' => false]]
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => true]
어두운 예
함수 memoize($func)
{
반환 함수 () 사용 ($func) {
static $cache = [];
$args = func_get_args();
$key = serialize($args);
$cached = true;
if (!isset($cache[$key])) {
$cache[$key] = $func(...$args);
$cached = false;
}
반환 ['결과' => $cache[$key], '캐시됨' => $cached];
};
}
$memoizedAdd = memoize(
function ($num) {
반환 $num + 10;
}
);
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => false]
var_dump($memoizedAdd(6)); // ['result' => 16, 'cached' => false]]
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => true]
코이 예시
함수 memoize($func)
{
반환 함수 () 사용 ($func) {
static $cache = [];
$args = func_get_args();
$key = serialize($args);
$cached = true;
if (!isset($cache[$key])) {
$cache[$key] = $func(...$args);
$cached = false;
}
반환 ['결과' => $cache[$key], '캐시됨' => $cached];
};
}
$memoizedAdd = memoize(
function ($num) {
반환 $num + 10;
}
);
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => false]
var_dump($memoizedAdd(6)); // ['result' => 16, 'cached' => false]]
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => true]
펑키한 예제
함수 memoize($func)
{
반환 함수 () 사용 ($func) {
static $cache = [];
$args = func_get_args();
$key = serialize($args);
$cached = true;
if (!isset($cache[$key])) {
$cache[$key] = $func(...$args);
$cached = false;
}
반환 ['결과' => $cache[$key], '캐시됨' => $cached];
};
}
$memoizedAdd = memoize(
function ($num) {
반환 $num + 10;
}
);
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => false]
var_dump($memoizedAdd(6)); // ['result' => 16, 'cached' => false]]
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => true]
오케이디아 사례
함수 memoize($func)
{
반환 함수 () 사용 ($func) {
static $cache = [];
$args = func_get_args();
$key = serialize($args);
$cached = true;
if (!isset($cache[$key])) {
$cache[$key] = $func(...$args);
$cached = false;
}
반환 ['결과' => $cache[$key], '캐시됨' => $cached];
};
}
$memoizedAdd = memoize(
function ($num) {
반환 $num + 10;
}
);
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => false]
var_dump($memoizedAdd(6)); // ['result' => 16, 'cached' => false]]
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => true]
태양광 조명 예시
함수 memoize($func)
{
반환 함수 () 사용 ($func) {
static $cache = [];
$args = func_get_args();
$key = serialize($args);
$cached = true;
if (!isset($cache[$key])) {
$cache[$key] = $func(...$args);
$cached = false;
}
반환 ['결과' => $cache[$key], '캐시됨' => $cached];
};
}
$memoizedAdd = memoize(
function ($num) {
반환 $num + 10;
}
);
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => false]
var_dump($memoizedAdd(6)); // ['result' => 16, 'cached' => false]]
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => true]
내일 밤 예시
함수 memoize($func)
{
반환 함수 () 사용 ($func) {
static $cache = [];
$args = func_get_args();
$key = serialize($args);
$cached = true;
if (!isset($cache[$key])) {
$cache[$key] = $func(...$args);
$cached = false;
}
반환 ['결과' => $cache[$key], '캐시됨' => $cached];
};
}
$memoizedAdd = memoize(
function ($num) {
반환 $num + 10;
}
);
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => false]
var_dump($memoizedAdd(6)); // ['result' => 16, 'cached' => false]]
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => true]
오늘 밤 예제
함수 memoize($func)
{
반환 함수 () 사용 ($func) {
static $cache = [];
$args = func_get_args();
$key = serialize($args);
$cached = true;
if (!isset($cache[$key])) {
$cache[$key] = $func(...$args);
$cached = false;
}
반환 ['결과' => $cache[$key], '캐시됨' => $cached];
};
}
$memoizedAdd = memoize(
function ($num) {
반환 $num + 10;
}
);
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => false]
var_dump($memoizedAdd(6)); // ['result' => 16, 'cached' => false]]
var_dump($memoizedAdd(5)); // ['result' => 15, 'cached' => true]