非推奨になっていたcreate_function()がPHP8で廃止されました。無名関数を知っている人にはどうでもいいことですが、ソースコードに残っていると致命的なエラーになって動きません。
何を今さらな情報ですが、もしまだ使っているようなら辞めましょうという話です。
無名関数が出てくる前まで、定義するまでもない関数をcreate_function()を使って書くことができました。
<?php
$c = create_function('$a, $b', 'return $a + $b;');
echo $c . PHP_EOL;
echo $c(3, 4) . PHP_EOL;
実行結果
lambda_1
7
ただ、create_functionは関数の処理内容を文字列で作成する必要があり、ちょっと複雑なことは書きにくいものでした。
これと同じことは無名関数を使ってもできます。
<?php
$c = function($a, $b) {
return $a + $b;
};
echo $c(3, 4) . PHP_EOL;
実行結果
7
create_function()はPHP7.2で非推奨になっていて、そのときにすでに無名関数に換えた人も多いはずです。
それを逃した人はPHP8ではエラーになります。
修正はかんたんなので、まだPHP7の人でも事前に直しておきましょう。