0

もともと、このコードは私の個人開発サーバーで機能していました。

$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];

その後、元のコードに戻して問題を突き止めようとしましたが、元のコードは機能していました。コードの最初の行で構文エラーがスローされるのはなぜですか? 説明を探してみましたが、この種の問題を何と呼ぶべきかわかりません。

4

1 に答える 1

5

このような直接配列逆参照の使用は、PHP 5.4 まで追加されませんでした。

一時変数に割り当てる必要があります。

$arr = your_function();
$value = $arr[0];

例 #7 を参照してください: http://php.net/manual/en/language.types.array.php

于 2013-04-18T16:18:35.333 に答える