带有Json问题的PHP数组

带有Json问题的PHP数组,php,json,Php,Json,我想使用我的php脚本实现这一点: { "aaData":[ [ "100", "189", "2" ], [ "100", "189", "1" ], [ "100", "188",

我想使用我的php脚本实现这一点:

{  
    "aaData":[  
        [  
            "100",
            "189",
            "2"
        ],
        [  
            "100",
            "189",
            "1"
        ],
        [  
            "100",
            "188",
            "4"
        ],
        [  
            "100",
            "188",
            "3"
        ],
        [  
            "100",
            "188",
            "2"
        ]
    ]
}
我正在从数据库中提取数据,我想把结果转换成上面的格式。查询如下所示:

SELECT user_id, module_id, action_id FROM test;
请帮我把这3列的结果按我上面提到的格式写出来

关于使用PDO,您可以执行以下操作:

$result = $conn->execute("SELECT `user_id`, `module_id`, `action_id` FROM `test`");
$rows = $result->fetchAll(PDO::FETCH_NUM);
echo json_encode(array('aaData' => $rows));

fetchAll
返回查询结果的二维数组。
PDO::FETCH_NUM
模式使这些结果的行成为数字索引数组。然后我们将其放入另一个数组的
aaData
元素中,并将其转换为JSON。

您是否尝试过JSON_encode()?在数组encode中获取循环推送想法是我需要动态推送它们。因此,根据为select定义的列(这里是3列,但它们可能是5、10…),我需要将它们推送到该数组上。谢谢,我没有使用PDO:(无论您使用什么接口,总体思路都是一样的。将结果放入数组,然后将数组转换为JSON。
mysqli
也有一个
fetch\u all
方法。如果您使用过时的
mysql
接口,您必须编写一个循环,调用
mysql\u fetch\u row
来获取每一行,并将它们推送到
$rows
数组。@nlee:您必须使用
PDO
mysqli
。如果您使用的是
mysql
,您必须立即停止,因为它已被弃用。