-4

我试图用 json_decode 解码 php 中的二维数组。

我像这样创建我的数组:

    $query3 = 'SELECT * FROM `files` WHERE `company`="'.$_POST['company'].'"';
    $result3 = mysql_query($query3);
    $return_type = "files";
    $data_files;
    while($row3 = mysql_fetch_object($result3))
    {
        $data_files[] .= json_encode(array("cat" => $row3->cat, "name" => $row3->name)); 
    }

在我的代码底部我使用这个:

$return = json_encode($data_files);

我的结果如下所示:

["{\"cat\":\"3\",\"name\":\"Flyer Vorwerk C-40 11\\\/2013\"}","{\"cat\":\"4\",\"name\":\"Katalog Sommer 2013\"}","{\"cat\":\"5\",\"name\":\"Beutel wechseln\"}","{\"cat\":\"5\",\"name\":\"Teppich sauber kriegen\"}","{\"cat\":\"3\",\"name\":\"Flyer Vorwerk C-70 11\\\/2013\"}"]

遗憾的是有太多的 qutoes,但是当我删除json_encode();mysql 部分中的第一个时,结果看起来像这样

["Array","Array","Array","Array","Array"]

我可以用 preg_replace() 删除 qutoes,但我想知道是否有更好的解决方案。

我将衷心感谢您的帮助。

顺便说一句,对不起我蹩脚的英语!

4

1 回答 1

3
$data_files = array();
while ($row3 = mysql_fetch_object($result3)) {
    $data_files[] = array("cat" => $row3->cat, "name" => $row3->name);
}
return json_encode($data_files);

不要双重编码你的价值观!

于 2013-05-27T11:30:46.187 回答