You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PHP如何拆分数组元素?将mysqli查询结果转为索引式数组

如何将mysqli查询结果转为索引数组,让$row[0]对应第一个值?

嘿,我来帮你搞定这个问题~你当前的代码用mysqli_fetch_assoc()获取的是关联数组(键是数据库字段名name),所以每个$row的结构是['name' => 'xxx']。如果想让$row[0]对应Orders$row[1]对应Documents这类索引形式的数组,有几个简单的实现方式:

方法1:直接用mysqli_fetch_row()获取索引数组

这是最直接的方式,mysqli_fetch_row()会把查询结果以索引数组的形式返回,下标从0开始:

$query = mysqli_query($db, "select name from documentation");
while ($row = mysqli_fetch_row($query)) {
    print_r($row);
    echo "<br />";
}

执行后输出就会变成:

Array ( [0] => Orders )
Array ( [0] => Documents )
Array ( [0] => Letters )

方法2:用array_values()把关联数组转成索引数组

如果你还是想保留mysqli_fetch_assoc()的使用,也可以在循环里用array_values()把关联数组转换为索引数组:

$query = mysqli_query($db, "select name from documentation");
while ($row = mysqli_fetch_assoc($query)) {
    $indexed_row = array_values($row);
    print_r($indexed_row);
    echo "<br />";
}

这样$indexed_row[0]就对应每个name字段的值啦。

方法3:用mysqli_fetch_array()指定索引模式

mysqli_fetch_array()支持通过参数指定返回类型,传入MYSQLI_NUM就会返回索引数组:

$query = mysqli_query($db, "select name from documentation");
while ($row = mysqli_fetch_array($query, MYSQLI_NUM)) {
    print_r($row);
    echo "<br />";
}

这个方法和mysqli_fetch_row()效果一致,只是更灵活——如果需要同时获取关联和索引数组,可以传MYSQLI_BOTH(默认值)。

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

火山引擎 最新活动