2010-04-25 104 views
1

我想解析從JQuery和JSON生成的數組數據。解析數組數據

Array 
(
[d] => Array 
    (
     [0] => Array 
      (
       [order] => 1 
      ) 

     [1] => Array 
      (
       [order] => 2 
      ) 

     [2] => Array 
      (
       [order] => 3 
      ) 

     [3] => Array 
      (
       [order] => 4 
      ) 

     [4] => Array 
      (
       [order] => 5 
      ) 

    ) 

) 

我想將上述日期保存到mysql表中,但似乎無法正確解析要插入數據庫的數據。

任何人都可以幫忙嗎?

回答

0

這看起來像函數print_r()的輸出中 - 這不是intented被解析和

您應該直接處理您的PHP代碼從Ajax請求接收的數據 - 即使用JSON數據(使用json_decode()解碼),而不是試圖解析該數據。

+0

WOW,這種快速作出迴應,... 這就是通過AJAX POST發送: { 「d」:[{ 「序」:1},{」 order「:2},{」order「:3},{」order「:4},{」order「:5}]} 並使用json_decode,以下代碼是我到目前爲止: $ data = file_get_contents('php:// input'); $ data = json_decode(utf8_decode($ data),true); foreach($ data [d] as $ key => $ value) {0} {0} - > img_model-> } 我的主要問題是讓我的頭繞着陣列...希望有人能指出我正確的方向。 – Sam 2010-04-25 13:13:09

0

所有你需要做的就是這樣的事情,

foreach ($data['d'] as $key => $value) { 
    $id = $value['order']; 
    $order = 'order'; 
    $this->img_model->update_image_order($id , $order); 
} 

這是假設在JSON數爲訂單ID。

+0

感謝ZZCoder,不幸的是我得到了一些與此有關的錯誤。我得到「消息:使用未定義的常量d - 假定'd'和'消息:未定義的變量:順序」錯誤。 我該如何解決這個問題? – Sam 2010-04-25 15:33:31

+0

我不知道消息的語義,所以代碼只是一個示例如何處理數組的數組。剛剛編輯以擺脫錯誤。 – 2010-04-25 18:06:59

0

您應該使用json_decode()(如其他人已經聲明)將您的JSON解碼爲php數組。 但是如果我把它正確的問題是如何使用PHP數組,所以我建議你看看一些很好的基本教程。 W3C已經在這裏體面的基本陣列教程:http://www.w3schools.com/php/php_arrays.asp