2013-11-28 110 views
1

到JSON我會改變數組的形狀爲JSON,但難以解析數據,我有這樣一個數組:轉換陣列PHP

Array ([id] => 1 
     [fisrt_name] => raul 
     [last_name] => gonzales 
     [tgl_booking_start] => 2013-11-04 00:00:00 
     [tgl_booking_finish] => 2013-11-30 00:00:00 
    ), 
     ([id] => 2 
     [fisrt_name] => chirtiano 
     [last_name] => ronaldo 
     [tgl_booking_start] => 2013-11-04 00:00:00 
     [tgl_booking_finish] => 2013-11-30 00:00:00 
    ) 

我想把它變成一個形式JSON這樣,我如何啓動代碼?

[{ 
    "id":1, 
    "title":"raul gonzales", 
    "start":"2013-11-04", 
    "end":"2013-11-30" 
    }, 
    { 
    "id":2, 
    "title":"chirtiano ronaldo", 
    "start":"2013-11-04", 
    "end":"2013-11-30" 
    }] 

謝謝回答

+2

出了什麼問題'json_encode()'?它不是做你想要的嗎? – Barmar

+0

你到目前爲止嘗試過什麼?爲什麼json_encode http://us1.php.net/json_encode不適合? – Harri

+0

您需要編寫自己的循環來更改密鑰並將首字母和姓氏合併爲標題,沒有內置任何內容可以實現這一點。 – Barmar

回答

3

Sample Link

<?php 
     $array = array ( 
       array('id' => '1', 
       'fisrt_name' => 'raul', 
       'last_name' => 'gonzales', 
       'tgl_booking_start' => '2013-11-04 00:00:00' , 
       'tgl_booking_finish' => '2013-11-30 00:00:00' , 
      ), 
       array('id' => '2', 
       'fisrt_name' => 'chirtiano', 
       'last_name' => 'ronaldo', 
       'tgl_booking_start' => '2013-11-04 00:00:00', 
       'tgl_booking_finish' => '2013-11-30 00:00:00', 
      ) 
     ); 

     $new_arr = array(); 

     foreach($array as $arr){ 
       $process_array = array(); 
       $process_array['id'] = $arr['id']; 
       $process_array['title'] = $arr['fisrt_name'].' '.$arr['last_name']; 
       $process_array['start'] = $arr['tgl_booking_start']; 
       $process_array['end'] = $arr['tgl_booking_finish']; 

       array_push($new_arr,$process_array); 

     } 

     echo json_encode($new_arr); 

    ?> 

輸出將

[{ 
"id":"1", 
"title":"raul gonzales", 
"start":"2013-11-04 00:00:00", 
"end":"2013-11-30 00:00:00" 
}, 
{ 
"id":"2", 
"title":"chirtiano ronaldo", 
"start":"2013-11-04 00:00:00", 
"end":"2013-11-30 00:00:00" 
}] 
0

試試下面的功能。

json_encode($array) 
0

您可以使用json_decode

echo json_encode($array); 
0

如果你想比內置json_encode功能(主要針對對象序列化),嘗試JmsSerializer庫(使用了很多在Symfony2中一個更強大的解決方案項目):http://jmsyst.com/libs/serializer

3

使用json_enconde($ array)將數組轉換爲json和和json_decode($ json)將json轉換爲數組。

在用於索引的示例JavaScript的訪問JSON元素: $ JSON [ '標題']

0

考慮使用兩個stripslashesjson_encode功能,以避免意外的問題。

echo stripslashes(json_encode($array));