我想向像這樣訪問的對象中的數組添加元素以檢索數據。在關聯數組中間拼接一個元素
var event_id = events_data.event_id[i]["0"];
var event_title = events_data.event_title[i]["0"];
var selected_source = events_data.selected_source[i]["0"];
var channel_id = events_data.channel_id[i]["0"];
events_data是一個包含元素event_id,event_title,...的對象,該對象是在這樣的PHP函數中創建的。
$return = array();
$return['event_id'] = $event_id;
$return['event_title'] = $event_title;
$return['selected_source'] = $selected_source;
$return['channel_id'] = $channel_id;
$return['channel_name'] = $channel_name;
$return['event_site'] = $event_site;
$return['event_url'] = $event_url;
$return['start_date'] = $start_date;
$return['start_time'] = $start_time;
$return['end_date'] = $end_date;
$return['end_time'] = $end_time;
$return['event_notes'] = $event_notes;
echo json_encode($return);
編輯 - 添加信息
JSON對象看起來是這樣的。
{「event_id」:[{「0」:「e20120319215556」},{「0」:「e20120310221512」},{「0」:「e20120319151903」},{「0」:「e20120309123705」}, { 「0」: 「e20120307122044」},{ 「0」: 「e20120306182514」},{ 「0」: 「e20120309211714」},{ 「0」: 「e20120314130727」},{ 「0」: 「e20120319150532」}, { 「0」: 「e20120319141928」},{ 「0」: 「e20120319141201」},{ 「0」: 「e20120301193226」},{ 「0」: 「e20120301184354」}]}
END INFO ADDED
在javascript方面,我得到了像這樣的events_data數組。
$.ajax({
url: "get_events_data.php",
type: "POST",
dataType : 'json',
data: { },
cache: false,
async: false,
success: function (rdata) {
events_data = rdata;
}
});
將元素添加到events_data上的JavaScript方面,我檢查裏添加新的元素,然後用拼接它添加索引。但是由於數據是用關聯數組的[「0」]文本鍵檢索的,我不知道如何指定拼接參數。
for (var n=0; n<events_data.event_id.length; n++) {
if (current_event_id == events_data.event_id[n]["0"]) {
//splice_index = n;
events_data.event_id.splice(n,0,event_id);
events_data.event_title.splice(n,0,event_title);
events_data.selected_source.splice(n,0,selected_source);
events_data.channel_id.splice(n,0,channel_id);
events_data.channel_name.splice(n,0,channel_text);
events_data.event_site.splice(n,0,event_site);
events_data.event_url.splice(n,0,event_url);
events_data.start_date.splice(n,0,start_date_string);
events_data.start_time.splice(n,0,start_time_string);
events_data.end_date.splice(n,0,end_date_string);
events_data.end_time.splice(n,0,end_time_string);
events_data.event_notes.splice(n,0,event_notes);
break;
}
}
指定拼接索引「n」似乎沒有這樣做。我應該改變什麼?
謝謝。
它看起來像你的陣列,對象混合起來,反之亦然。簡而言之,如果你想要一個保證順序的數字索引數據結構,可以使用一個數組。如果您想要一個以字符串作爲關鍵字(而不是數字)的關聯數組,請使用對象。如果你最終使用數組,你可以使用push,pop等來添加和刪除項目。 – jbabey 2012-03-26 16:31:02
該數組是從php函數返回的json編碼對象。它工作正常。我只想知道如何在中間添加元素。如果我這樣讀取event_title數組,event_data.event_title = events_data.event_title [i] [「0」];',來自events_data對象,我該如何在它的中間添加一個元素? – user823527 2012-03-26 16:35:14
顯示你的JSON比顯示你的PHP更有幫助。 – nrabinowitz 2012-03-26 16:37:53