もともと、このコードは私の個人開発サーバーで機能していました。
$id = str_split(md5(mt_rand()), 16)[0];
しかし、別のサーバー (Apache と PHP の同じバージョン、リモートの php.ini がどのように見えるかわかりません) では、コードは次のエラーをスローしました。
Parse error: syntax error, unexpected '[' ...
コードを次のように変更して、問題を「修正」しました。
$id = str_split(md5(mt_rand()), 16);
$id = $id[0];
その後、元のコードに戻して問題を突き止めようとしましたが、元のコードは機能していました。コードの最初の行で構文エラーがスローされるのはなぜですか? 説明を探してみましたが、この種の問題を何と呼ぶべきかわかりません。