ホームページ >バックエンド開発 >PHPチュートリアル >php5.1.6の場合はRECURSIONと表示されます。壊してください! ! !
$m = array('1');
$m['a'] = $m;
die;
これは簡単なテストです。出力結果は
Array ( [0] => 1 [a] => Array *RECURSION* )
しかし、私が望む結果は次のとおりです。
Array ( [0] => 1 [a] => ; Array ( [0] => 1 ) )
どの部分を変更する必要がありますか?神に答えを求める
誰も気にしないの?
RECURSION 再帰
再帰が発生すると、print_r は次のように結果を表示します これは正しいです。print_r はデバッグ専用なので、要点だけを言ってください
RECURSION 再帰
これは正しいです、意味がある限り、print_r はデバッグ用なので
しかし、この $m を json_encode に渡すと、戻り値はありません。
php のバージョンが低すぎます。json_encode でエラーが発生するのは正常です
php5.2.5 ではこの状況に対処できません
json_encode() [function.json-encode]: 再帰が検出されました
私の PHP バージョン 5.3.27 の出力結果は正確に Array ([0] => 1 [a] => Array ([0] => 1)) です
php のバージョンが低すぎるため、json_encode でエラーが発生するのは正常です
ですphpのバージョンの問題。 php の上位バージョンをテストしました。 許可されています。
私は現在php5.1.6を使用しており、json_encodeメソッドは自分で追加されました。
すべての偉大な神々に感謝します。
$m['a'] = (array) $m;