You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PHP从数据库生成指定格式多维数组并完成JSON编码?

修正PHP数组格式以生成目标JSON响应

嘿,我看你现在的代码生成的数组结构和预期不符,这就帮你修正过来!

问题分析

你当前的循环逻辑有问题:每次迭代都往$users里分别添加两个独立的数组元素,一个存id,一个存last_active,最终生成的数组会是类似这样的结构:

[
    ['id' => 1],
    ['last_active' => 1522921015],
    ['id' => 2],
    ['last_active' => 1522921019],
    ...
]

这和你想要的「每个用户对应一个包含id和last_active的子数组」的格式完全不一样。

修正后的代码

只需要修改循环内的逻辑,把当前用户的两个字段值打包成一个子数组,再添加到$users中即可:

$users = array();
$stmt = $mysqli->query('SELECT id, last_active FROM users WHERE status = 1');
while ($row = $stmt->fetch_assoc()) {
    // 将当前用户的id和last_active组合成一个子数组,再加入到主数组
    $users[] = array($row['id'], $row['last_active']);
}
echo json_encode($users);

效果验证

修正后生成的$users数组就完全符合你的预期:

$users = array (
    0 => array(1, 1522921015),
    1 => array(2, 1522921019),
    2 => array(3, 1522921102),
    3 => array(4, 1522921195),
    ...
);

对应的JSON响应也会是标准的二维数组格式:

[[1,1522921015],[2,1522921019],[3,1522921102],...]

内容的提问来源于stack exchange,提问作者medk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:05:54