Std类对象到数组

时间:2014-04-19 10:00:51

标签: php arrays codeigniter object

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

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 个答案:

答案 0 :(得分:3)

试试这个:

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

这也适用于递归数组。

答案 1 :(得分: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()

答案 2 :(得分:2)

尝试以下方法:

$array = (array) $object;

或者

$array = get_object_vars($object);