我有一個使用JSON對象和PHP的問題。 的Edited_Players JSON對象可以具有一個或多個子對象如下所示將json對象添加到數組php
這與2子對象
"Team_Updates": {
"Edited_Players": [
{
"position": "flanker",
"last_name": "mowbrayfg",
"id": 3,
"first_name": "fchris",
"weight": "weight",
"height": "high"
},
{
"id": 4,
"last_name": "gg",
"position": "gg",
"first_name": "ffgyvvyvy",
"height": "cttvyv",
"weight": "gg"
}
]
},
這與1個子對象:
Team_Updates": {
"Edited_Players":
{
"position": "flanker",
"last_name": "mowbrayfg",
"id": 3,
"first_name": "fchris",
"weight": "weight",
"height": "high"
}
}
的問題是當我執行下面的代碼時,如果Edited_Players JSON對象的大小爲2,那麼for循環將執行兩次,這是正確的。但是如果Edited_Players JSON對象的大小爲1,則循環執行6次。
這是因爲如果Edited_Players> 1,那麼它由一個數組填充,但是如果= 1,則它只計算其中的單個對象。
如何更改以使代碼將{position,last_name,id,first_name,weight,height]看作1個對象?
if(isset($editedPlayersObj)){
$epIDArray = array();
$epFnameArray = array();
$epSnameArray = array();
$epHieghtArray = array();
$epWeightArray = array();
$epPosArray = array();
for ($x=0; $x<count($editedPlayersObj); $x++)
{
$epFnameArray[$x] = $editedPlayersObj[$x]['first_name'];
$epSnameArray[$x] = $editedPlayersObj[$x]['last_name'];
$epIDArray[$x] = $editedPlayersObj[$x]['id'];
$epHieghtArray[$x] = $editedPlayersObj[$x]['weight'];
$epWeightArray[$x] = $editedPlayersObj[$x]['height'];
$epPosArray[$x] = $editedPlayersObj[$x]['position'];
// insert into database the above
}
這是更好地正確地重建源JSON。 –
@u_mulder你能不能解釋一下? –