json_encode 関数は PHP 配列をエンコードでき、戻り値は json 形式の文字列です。 json_encoding の多次元配列の場合、配列形式 ({{obj1}、{obj2}、{obj3}} の形式) が返されると常に考えていましたが、今日クライアントに返されたインターフェイスで、それが配列形式であることがわかりました。配列ではなくオブジェクトになってしまいました([{....},{....},{....}]の形)、コードを確認したところ、クライアントの操作に不便でした。以前に多次元配列の最初の要素の設定を解除していたことがわかりました。その結果、異なる結果が返されました。以下のコードを見てください:
結果は次のとおりです。最初のインデックスを削除した後、もう一度見てください:
$arr = array( <span style="white-space:pre"> </span>0=>array('name'=>'张三','age'=>'120'), <span style="white-space:pre"> </span>1=>array('name'=>'李四','age'=>'111'), <span style="white-space:pre"> </span>2=>array('name'=>'王五','age'=>'233') ); $res = json_encode($arr); echo "<script>console.log('$res');</script>";
解決策は、sort 関数を使用してインデックスを再度作成することです。
$arr = array( 0=>array('name'=>'张三','age'=>'120'), 1=>array('name'=>'李四','age'=>'111'), 2=>array('name'=>'王五','age'=>'233') ); unset($arr[0]); $res = json_encode($arr); echo "<script>console.log('$res');</script>";
わかりました...これはブログを書く価値がないようです、自分自身への備忘録として考えてください
上記は、多次元配列 json_encode の後に配列の代わりにオブジェクトを生成する問題を、その問題の側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。