function array_push返回空数组

时间:2015-05-21 08:04:59

标签: php

我尝试在数组中保存表的行但是我得到一个空数组。
我的代码是:

$a = array();
$b = array();
if ($result->num_rows > 0){
    while ($row = $result->fetch_assoc()) {
        $b["id"] = $row["id"];
        $b["title"] = $row["title"];
        $b["description"] = $row["description"];
        $b["lat"] = $row["lat"];
        $b["lng"] = $row["lng"];
        $b["walkId"] = $row["walkId"];
        echo json_encode($b);
        array_push($a,$b);
    }
    echo json_encode($a);
}

使用echo json_encode($b);我逐个看到结果,但数组a是空的。

编辑1

在随机帮助之后,使用echo print_r($a,true);我会看到以下屏幕截图:error

我正确获取数据的其他表格的截图是: correct

编辑2

json_encode的问题。我得到以下内容 [{" ID":" 55""标题":" \ u00ce \ u203a \ u00ce \ u00bf \ u00cf \ U2026 \ u00ce \ u00bb \ u00ce \ u00bf \ u00cf \ U2026 \ u00ce \ u00b4 \ u00ce \ u00ac \ u00ce \ u00b4 \ u00ce \ u00b9 \ u00ce \ u00ba \ u00ce \ u00b1""描述":" \ u00ce \ u201c \ u00ce \ u00b5 \ u00ce \ u00bd \ u00ce \ u00b9 \ u00ce \ u00ba \ u00ce \ u00ae转移\ u00ce \ u00b1 \ u00ce \ u00bd \ u00ce \ u00b1 \ u00cf \ u2020 \ u00ce \ u00bf \ u00cf \ u0081 \ u00ce \ u00ac \ u00cf \ u0192 \ u00cf \ u201e \ u00ce \ u00b1 X \ u00ce \ u00b1 \ u00cf \ u0081 \ u00ce \ u00b1 \ u00ce \ u00ba \ u00cf \ u201e \ u00ce \ U00B7 \ u00cf \ u0081 \ u00ce \ u00b9 \ u00cf \ u0192 \ u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u00b \ u00ce \ u00c \ u00c \ u00ce \ u00af \ u00c \ u00c \ u00af \ u00c \ u00c \ u00c \ u00c \ u00c \ u00c \ u00c \ u00c \ u00cf \ u00cf \#34;," lat":&# 34; 40.634356"" LNG":" 22.940716"" walkId":" 92"},{&#34 ; ID":" 56""标题":" \ u00ce \ u2018 \ u00ce \ u00b3 \ u00ce \ u00bf \ u00cf \ u0081 \ u00ce \Ú 00ac \ u00ce \ u00ce \ u00ce \ u00c \ u00ce \ u00ce \ u00ce \ u00ce \ u00ac \ u00ce \ u00b \ u00ce \ u00bf","说明":" H \ u00ce \ u00> u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u00cf \ u201e \ u00ce \ u00bf \ u00cf \ u0081 \ u00ce \ u00b9 \ u00ce \ u00ba \ u00ce \ u00ae转移\ u00cf \ u201a \ u00ce \ u00b1 \ u00ce \ u00b3 \ u00ce \ u00bf \ u00cf \ u0081 \ u00ce \ u00ac \ u00cf \ u201a。 \ u00cf \ u201e \ u00ce \ u00b1 X \ u00ce \ u00b1 \ u00cf \ u0081 \ u00ce \ u00b1 \ u00ce \ u00ba \ u00cf \ u201e \ u00ce \ U00B7 \ u00cf \ u0081 \ u00ce \ u00b9 \ u00cf \ u0192 \ u00cf \ u201e \ u00ce \ u00ce \ u00ce \ u00ce \ u00c \ u00cf \ u201e \ u00ce \ u00c \ u00cf \ u201a \ u00ce"," lat":" 40.634609",&# 34; LNG":" 22.941081"" walkId":" 92"}

1 个答案:

答案 0 :(得分:0)

我注意到的第一件事是3次出现的特殊?。问题必须来自这里 尝试编辑包含特殊?的3个描述,以便它不会再次出现在print_r中。
这必须将array_push变为错误 您也可以尝试用拉丁语对其进行编码以确保安全。 (请关注@deceze链接以了解该怎么做)