PHP循环对象成员操作

时间:2015-11-18 12:46:06

标签: php arrays foreach yii2

我有一个多维对象结果集,我想循环以将内部对象成员的值更改为外部对象成员的值。当循环完成执行时,即使每个外部对象成员的值不同,内部对象成员的值也都是相同的值,即最终外部对象成员的值。

foreach ($user as $key => &$value) {
    $user[$key]->user->company = $value->Company;
}

当我转储包含对象的$ user数组时,我得到了这个结果:

Array
(
[0] => common\models\UserRoleMapping Object
(
    [_attributes:yii\db\BaseActiveRecord:private] => Array
    (
        [User_Role_Mapping_Id] => 9b55d3a7-8de6-11e5-ae99-60a44ce86902
        [User_Id] => 9b432c2c-8de6-11e5-ae99-60a44ce86902
        [User_Role_Id] => 49c82d92-31d0-11e4-8309-60a44ce86902                    
        [Status] => 8332b8d7-1990-11e4-8876-60a44ce86902
        [Company] => 79538f95-7e25-11e5-b514-60a44ce86902                    
    )

    [_related:yii\db\BaseActiveRecord:private] => Array
    (
        [user] => common\models\User Object
        (                            
            [company] => 0e7505fc-7961-11e5-a563-60a44ce86902
            [_attributes:yii\db\BaseActiveRecord:private] => Array
            (
                [User_Id] => 9b432c2c-8de6-11e5-ae99-60a44ce86902
                [Username] => andre@hotmail.com
                [Password] => fbb8f9f42cb0532f30759d9e4fa3e2fc90d714321ce11fdc42f5c9b23756979c6166e674e421b8580ab53a0e75e9d2758f7b8bbe70a33a5ad0cdc25b553e08b4
                [Login_Status] => Offline
                [Failed_Login_Attempts] => 0
                [Verification] => 
                [Salt] => dd7c8a297a8d34ba5dc7cd4b45a1e593
                [Last_Reset] => 0000-00-00 00:00:00
                [Status] => 8332b8d7-1990-11e4-8876-60a44ce86902
            )
        )
    )
)
[1] => common\models\UserRoleMapping Object
(
    [_attributes:yii\db\BaseActiveRecord:private] => Array
    (
        [User_Role_Mapping_Id] => fdb962ef-8de6-11e5-ae99-60a44ce86902
        [User_Id] => 9b432c2c-8de6-11e5-ae99-60a44ce86902
        [User_Role_Id] => 49c82d92-31d0-11e4-8309-60a44ce86902                    
        [Status] => 8332b8d7-1990-11e4-8876-60a44ce86902
        [Company] => 0e7505fc-7961-11e5-a563-60a44ce86902                    
    )
    [_related:yii\db\BaseActiveRecord:private] => Array
    (
        [user] => common\models\User Object
        (                            
            [company] => 0e7505fc-7961-11e5-a563-60a44ce86902
            [_attributes:yii\db\BaseActiveRecord:private] => Array
            (
                [User_Id] => 9b432c2c-8de6-11e5-ae99-60a44ce86902
                [Username] => andre@hotmail.com
                [Password] => fbb8f9f42cb0532f30759d9e4fa3e2fc90d714321ce11fdc42f5c9b23756979c6166e674e421b8580ab53a0e75e9d2758f7b8bbe70a33a5ad0cdc25b553e08b4
                [Login_Status] => Offline
                [Failed_Login_Attempts] => 0
                [Verification] => 
                [Salt] => dd7c8a297a8d34ba5dc7cd4b45a1e593
                [Last_Reset] => 0000-00-00 00:00:00
                [Status] => 8332b8d7-1990-11e4-8876-60a44ce86902
            )
        )
    )
)
)

正如您在转储值中看到的那样,两个内部用户对象的公司成员具有相同的值,其值在最终的外部对象公司成员中找到。

我正在寻求帮助,让我可以让每个内部用户对象拥有各自的外部对象公司值。

0 个答案:

没有答案
相关问题