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

CodeIgniter中MySQL查询如何返回无表头一维数组

解决CodeIgniter查询返回一维数组的问题

嘿,这个需求其实很好实现,给你几种简洁的方案,根据你的CodeIgniter版本和习惯选就行:

方法1:用PHP内置的array_column()函数

这是最通用的方法,不管CodeIgniter版本,只要PHP版本在5.5及以上都能用。直接从二维结果数组里提取asd列的值:

public function m_get_wer() {
    $sql = "SELECT `asd` FROM test2";
    $data = $this->db->query($sql)->result_array();
    // 提取所有asd字段的值,组成一维数组
    return array_column($data, 'asd');
}

输出结果就是你想要的:Array([0] => A, [1] => B, [2] => C, [3] => D)

方法2:用CodeIgniter内置的pluck()方法(推荐)

如果你的CodeIgniter版本是3.1.0及以上,官方提供了更便捷的pluck()方法,专门用来获取单列数据的一维数组,连手动处理的步骤都省了:

public function m_get_wer() {
    // 链式查询+pluck直接返回一维数组
    return $this->db->select('asd')->from('test2')->get()->pluck('asd');
}

这个写法更简洁,完全贴合CodeIgniter的ORM风格,代码可读性也更高。

方法3:手动循环兼容低版本PHP

如果你的PHP版本低于5.5(现在这种情况很少见了),可以用foreach手动遍历提取:

public function m_get_wer() {
    $sql = "SELECT `asd` FROM test2";
    $data = $this->db->query($sql)->result_array();
    $result = [];
    foreach ($data as $item) {
        $result[] = $item['asd'];
    }
    return $result;
}

这种方法兼容性最好,但代码量相对多一点。

这几种方法都能帮你得到不带键名的一维数组,根据你的实际环境选就行~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 08:33:07