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

PHP实现从MySQL获取指定格式二维数组的方法

实现MySQL查询结果转指定格式数组

问题情况

现有PHP代码从MySQL数据库查询数据,当前生成的数组格式不符合需求:

当前代码

$sql = "SELECT * FROM nat WHERE village = '$village'";
$result = $conn->query($sql);

$prname1=array();

while($row = $result->fetch_array()) {
 
    $prname1[]=$row['id_source'];

  }

当前输出

调用print_r($prname1)得到:

Array ( [0] => 30000 [1] => 30002 [2] => 30003 )

目标格式

需要生成如下结构的数组:

[ [0 => 30000], [0 => 30002], [0 => 30003], ]

解决方案

只需修改循环内的赋值逻辑,把每个id_source的值包装成以0为键的子数组,再推入目标数组即可。修改后的代码:

$sql = "SELECT * FROM nat WHERE village = '$village'";
$result = $conn->query($sql);

$prname1=array();

while($row = $result->fetch_array()) {
    // 将每个值封装为带0键的子数组后加入目标数组
    $prname1[] = [0 => $row['id_source']];
}

验证结果

调用print_r($prname1)会得到符合要求的结构:

Array (
    [0] => Array ( [0] => 30000 )
    [1] => Array ( [0] => 30002 )
    [2] => Array ( [0] => 30003 )
)

如果需要输出成字符串形式的方括号格式,可使用json_encode($prname1),输出结果为:

[[30000],[30002],[30003]]

注:JSON格式会省略默认的0索引键,但结构与需求等价。若必须显式输出0 => xxx的格式,可手动循环拼接字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 21:08:11