我会将数组的形状更改为json,但解析数据有困难,我有一个数组:
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"
}]
感谢您的回答
答案 0 :(得分:3)
使用json_enconde($ array)将数组转换为json,使用json_decode($ json)将json转换为数组。
在javascript中访问json元素的索引示例: $ JSON [ '标题']
答案 1 :(得分:3)
<?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"
}]
答案 2 :(得分:2)
使用json_encode()
请参阅文档以了解用法。
答案 3 :(得分:0)
尝试以下功能。
json_encode($array)
答案 4 :(得分:0)
您可以使用json_decode
echo json_encode($array);
答案 5 :(得分:0)
如果你想要一个比内置json_encode
函数更强大的解决方案(主要用于对象序列化),试试JmsSerializer库(在Symfony2项目中经常使用):http://jmsyst.com/libs/serializer
答案 6 :(得分:0)
考虑使用stripslashes
和json_encode
函数来避免意外问题。
echo stripslashes(json_encode($array));