我有一个简单的值对数组,如下所示:
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中包含属性?
只需创建一个新数组:
$data = array();
foreach($array as $key => $value) {
$data[] = array('pk' => $key, 'name' => $value);
}
$json = json_encode($data);