2012-07-20 91 views
0

我想知道如何將未在類中聲明的屬性添加到對象中。如何給對象添加屬性?

讓我解釋一下:

我有我的訂單:

[0] => stdClass Object 
( 
    [quantityBlack] => 3 
    [quantityBlue] => 1 
    [quantityGreen] => 0 
    [quantityOrange] => 0 
    [quantityPurple] => 0 
    [quantityRed] => 0 
    [dateOfOrder] => Fri, 06 Jul 12 22:21 
    [user_id] => 5 
    [comments] => Test 
) 

,我想用戶的屬性來代替USER_ID,

,所以我想做些什麼是:

foreach ($data['orders'] as $key => $order){ 

     $data['orders']->$key???-> = $this->user_model->GetUsers(array('userId' => $order->user_id)); 

    } 

但我不知道如何專門針對單個對象(你se在最後,我想獲取相關用戶的屬性。

我該怎麼做?

謝謝!

回答

3

如果我理解你正在尋找做以下正確的數據結構:

foreach($data['orders'] as $key => $order) { 
    $data['orders'][$key]->user = $this->user_model->GetUsers(array('userId' => $data['orders'][$key]->user_id)); 
    unset($data['orders'][$key]->user_id); 
} 

我假設$數據[「訂單」]是一個包含了一堆stdClass的對象數組像一個引用在這個問題中,爲什麼在這種情況下,您將使用$ data ['orders'] [$ key]語法先訪問每個數組元素,然後再訪問每個對象的屬性。

請注意,雖然數據結構和問題的意圖都不清楚,但如果這不能解決您的問題,您可能需要提供更多的上下文。

+0

是的,thx非常,這正是我期待的結構。 – 2012-07-20 15:45:01

+0

另外請注意(因爲我忘了提及它),因爲你有什麼是stdClass對象,你可以隨時添加「user」屬性,但不要指望與其他類型的對象相同的行爲(不是問題對於你現在需要的東西,但很高興知道) – Mahn 2012-07-20 15:47:03

+0

我可以在哪裏獲得所有類型對象的列表/描述?我不知道有!=對象的類型.. – 2012-07-20 16:34:54