私はJavaScriptでjsonとして解析されるphpで配列を作成しようとしています。これはajax呼び出しで行います。 $empty = array()
でインスタンス化された配列の最初のインデックスが{"0":[{..values here..}], "success":true}
として返されることに気付きました。理想的には、reply.data
とreply.success
を使用してアクセスします。返信成功は動作しますが、最初のインデックスとして0を持たない配列を作成する方法を見つけることはできません。キー値を持つ空の配列を作成する
マイPHP側のコード:私はそれが
{"0":[{"room_id":"20","host_id":"","resp_id":"","offer":"","answer":"","status":"0"}],"success":true}
これは私の質問に答えましたが、返信機能を使って返信する必要がありますので、 、...}}]、 "success":true} 'なぜ配列を返すように見えますか? php reply func: 'public function reply($ success、$ data){ $ reply = array(); if(sizeof($ data)!= 0){ foreach($ data = $ val){ $ reply ['reply'] [$ key] = $ val; } } return json_encode($ reply); } ' –
数字キーを持ち、数字で始まる「0」で始まり数字(つまり1,3,5)に隙間がないphp配列は、json_encodeの配列に変換されます。これはJSの中で同じものを使うことができるので、かなり標準的です。 'JSON_FORCE_OBJECT'定数をjson_encodeに渡すこともできます。 –