0

我有来自我的 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"}}}

问题是如何删除数组前面的这些数字?

4

3 回答 3

4

尝试改变

echo json_encode((object) array('lista' => $lista));

echo json_encode((object) array('lista' => array_values($lista)));

注意:未经测试

于 2013-07-30T11:21:04.860 回答
1

我认为您需要按照 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}
于 2013-07-30T11:20:37.520 回答
1

在编码成 Json_encode 之前应用 array_values

$lista = array_values(array_map('unserialize', array_flip($arr)));
echo json_encode((object) array('lista' => $lista)); 
于 2013-07-30T11:24:15.000 回答