我做了第一个问题here abour将数组填充到json_encode并将其传递给我在客户端的javascript,但我发现问题似乎与json_encode和来自的json_encode有关。我的桌子。 桌子上装满了varchars,所以这是一张包含餐馆,购物等常见类别的桌子。
我正在做这个循环来填充数组(之前我有while循环,但这个让我理解错误)
$id=array();
for($i=0;$i<$nmr;$i++){
$row = mysql_fetch_assoc($sql);
$id[$i]=$row['Tipo'];
}
echo json_encode($id);
所以,如果我这样做,我的PhP页面什么都不返回。但是如果print_r($ id)它会打印出包含所有字符串的数组。如果我回应$ id [1];它输出其中一个类别,所以我猜这是json_encode没有?我已经将我的数据库设置为utf-8,因为我注意到json的工作方式是这样的,那么现在的问题是什么呢?
由于
修改
如果我这样做,请忘记提及:
$id[0]="ola";
$id[1]="ccc";
$id[2]="sd";
json_encode($id);
output: ["ola","ccc","sd"]
它给出了输出上的数组。所以只有当我尝试对填充了我的数据库中的值的数组进行编码时才会发生。
第二次修改
我在上面说过,但我想如果我展示它会更好。 正在填充数组,因为如果我在json_encode($ id)后面的print_r($ id),我会得到填充的数组。
Array ( [0] => Restaurantes [1] => Cafés [2] => Shopping [3] => Eventos [4] => Hoteis [5] => Oficinas [6] => Combustiveis )