末尾呼び出し最適化とは、関数の呼び出しをjump命令に書き換えることによる最適化のこと。 通常の関数呼び出しはreturnで呼び出し元の位置に帰ってくる必要がある。 しかし例えば <?php function multi($a, $b){ return $a * $b; } function plus($a, $b){ return $a + $b; } function calc($op, $b, $c){ if ($op === '+') return plus($b, $c); else if ($op === '*') return multi($b, $c); else return 0; } var_dump(calc('*', 3, 5)); // int(15) この calc という関数から plus や multi という呼び出しにおいて、calc に戻ってくる必要はな