我的PHP 中有数组
{"lista":[{"Grad":"Beograd"},{"Grad":"Novi_Sad"},{"Grad":"Beograd"},{"Grad":"Novi_Sad"},{"Grad":"Beograd"},{"Grad":"Beograd"},{"Grad":"Beograd"},{"Grad":"Kragujevac"},{"Grad":"Kragujevac"},{"Grad":"Beograd"},{"Grad":"Kragujevac"},{"Grad":"Beograd"}]}
当我使用时:
$arr = array_flip(array_map('serialize', $rows));
$lista = array_map('unserialize', array_flip($arr));
echo json_encode((object) array('lista' => $lista));
我得到
{"lista":{"19":{"Grad":"Beograd"},"18":{"Grad":"Novi_Sad"},"20":{"Grad":"Kragujevac"}}}
问题是如何删除数组前面的数字?
尝试更改
echo json_encode((object) array('lista' => $lista));
至
echo json_encode((object) array('lista' => array_values($lista)));
注:未测试
我认为您需要按照php手册文档中的示例填充数组:http://php.net/manual/en/function.json-encode.php
来自PHP网站:
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
上面的例子将输出:
{"a":1,"b":2,"c":3,"d":4,"e":5}
在编码到Json_encode 之前应用array_values
$lista = array_values(array_map('unserialize', array_flip($arr)));
echo json_encode((object) array('lista' => $lista));