2012-02-02 45 views
1

我有一个简单值对阵列这样的属性:转换值/对列表(简单阵列)插入JSON使用PHP

array(4) (
    [4] => (string) Barcelona 
    [3] => (string) Cordoba 
    [1] => (string) Granada 
    [2] => (string) Jaen 
) 

我需要编码这JSON来在一个AJAX请求响应格式如下:

[{"pk": 4, "name": "Barcelona"}, 
{"pk": 3, "name": "Cordoba"}, 
{"pk": 1, "name": "Granada"}, 
{"pk": 2, "name": "Jaen"}] 

如果我使用:

json_encode($a) 

我得到如下:

{"4":"Barcelona","3":"Cordoba","1":"Granada","2":"Jaen","0":"Select a province"} 

我该如何让PHP格式化我的简单数组以在JSON中包含属性?

+0

你试过遍历了吗? – 2012-02-02 13:16:22

回答

4

只需创建一个新的数组:

$data = array(); 

foreach($array as $key => $value) { 
    $data[] = array('pk' => $key, 'name' => $value); 
} 

$json = json_encode($data);