简体   繁体   English

如何在php活动记录中将对象转换为数组

[英]How to convert object to array in php active record

I am using phpactive record.我正在使用 phpactive 记录。 To find all data from one table I am using like below要从我使用的一张表中查找所有数据,如下所示

$groups = GroupModel::all();

echo "<pre>";
print_r($groups);

then getting output like然后得到输出

Array
(
    [0] => GroupModel Object
        (
            [errors] => 
            [attributes:ActiveRecord\Model:private] => Array
                (
                    [group_id] => 1
                    [group_name] => group added new one
                )

            [__dirty:ActiveRecord\Model:private] => Array
                (
                )

            [__readonly:ActiveRecord\Model:private] => 
            [__relationships:ActiveRecord\Model:private] => Array
                (
                )

            [__new_record:ActiveRecord\Model:private] => 
        )

    [1] => GroupModel Object
        (
            [errors] => 
            [attributes:ActiveRecord\Model:private] => Array
                (
                    [group_id] => 2
                    [group_name] => group added new one
                )

            [__dirty:ActiveRecord\Model:private] => Array
                (
                )

            [__readonly:ActiveRecord\Model:private] => 
            [__relationships:ActiveRecord\Model:private] => Array
                (
                )

            [__new_record:ActiveRecord\Model:private] => 
        )

)

but I want output like但我想要输出

Array
(
    [0] => [group_id] => 1
           [group_name] => group added new one

    [1] => [group_id] => 2
           [group_name] => group added new one
)

Please anyone help me.请任何人帮助我。 Thanks谢谢

I was also stuck on this, answering here for other people's reference:我也被困在这个问题上,在此回答以供其他人参考:

The to_array method of phpactiverecord can be used, like below:可以使用phpactiverecordto_array方法,如下所示:

$arr_items = array();
foreach ($groups as $group) {
    $arr_items[] = $group->to_array();        
}

Now $arr_items has the desired associative array format.现在$arr_items具有所需的关联数组格式。

Above code can be transformed to a reusable function, like below上面的代码可以转换成一个可重用的函数,如下所示

function par_to_array_all($results, $options = '')
{
    $arr_items = array();
    foreach ($results as $row) {
        if (is_array($options)) {
            $arr_items[] = $row->to_array($options);
        } else {
            $arr_items[] = $row->to_array();
        }
    }
    return $arr_items;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM