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

如何在CodeIgniter中转换result_object的数据类型?附对象数组示例

在CodeIgniter中转换result_object数据类型的方法

嘿,针对你拿到的这种stdClass对象数组(也就是CodeIgniter里result_object()返回的结果),我整理了几种实用的转换方法,帮你轻松切换数据类型:

1. 直接获取数组格式(最省心的方式)

如果还没执行查询,或者可以重新发起查询,直接用CodeIgniter自带的方法跳过对象,直接拿数组:

// 用 result_array() 替代 result_object(),直接得到关联数组
$query = $this->db->get('your_table');
$array_data = $query->result_array();

要是只查单条记录,就用row_array()代替row():

$single_row_array = $query->row_array();

2. 把已有的对象数组转成数组

要是你已经拿到了result_object()的结果,想把这些stdClass对象批量转成数组,用array_map加get_object_vars就能一行搞定:

// $object_array 是你现有的result_object返回的数组
$array_data = array_map(fn($obj) => get_object_vars($obj), $object_array);

要是你需要在转换时对字段做额外处理(比如格式化日期、修改字段名),用foreach循环更灵活:

$array_data = [];
foreach ($object_array as $obj) {
    // 这里可以加自定义处理,比如把cash_date转成可读格式
    $converted_item = (array)$obj; // 强制类型转换,把对象转数组
    $array_data[] = $converted_item;
}

3. 单个对象转数组

如果只是单条stdClass对象,两种简单方式:

// 方式1:强制类型转换
$single_array = (array)$single_obj;

// 方式2:用get_object_vars获取对象属性数组
$single_array = get_object_vars($single_obj);

这些方法都能帮你快速把数据库返回的对象转换成数组,适配你后续的数组操作需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:14:15