Std类对象转为数组

3

我正在尝试将stdClass对象数组转换为普通数组... 产品ID和类别用逗号分隔... 我该如何将stdClass对象转换为普通数组...

Array (
  [0] => stdClass Object (
    [product_id] => SHIRT61
    [product_category] => 4
  )
  [1] => stdClass Object (
    [product_id] => SHIRT51
    [product_category] => 5
  )
) 

product_id = {'SHIRT61','SHIRT51'}product_category = {'5','7'} 转化为:

3个回答

3

试试这个:

$array = json_decode(json_encode($objArray), true);

这将适用于递归数组。

3

在数据生成的模型中,你的模型是什么样子的?如果您查询数据库以检索数组,则无需担心转换数据。

在CodeIgniter中,您可以使用row_array()代替row()或使用result_array()代替result()

例如,将此更改为:

$query = $this->db->get('mytable');
$query->get->row();
return $query;

转化为:

$query = $this->db->get('mytable');
$query->get->row_array();
return $query;

在这个例子中,我使用的是row()/row_array(),但同样适用于result()/result_array()

谢谢Daniel...我已经使用了result_array().... $array = json_decode(json_encode($objArray), true); 和 result_array() 都是正确的... - premkumar unifying logics

2

请尝试以下方法:

$array = (array) $object;

或者

$array = get_object_vars($object);

1
它返回相同的标准类对象。 - premkumar unifying logics

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接