2013-10-12 62 views
0

我希望在將對象數組轉換爲單個對象時,可以幫助我解決這個簡單問題。所以我可以直接調用它們的屬性。Laravel 4 - 將對象數組轉換爲單個對象

我的意思是,我有這個數據如下:

array(3) { 
    [0]=> 
    object(stdClass)#259 (8) { 
    ["id"]=> 
    int(2) 
    ["author_id"]=> 
    int(2) 
    ["title"]=> 
    string(17) "The Emperorasdasd" 
    ["publisher"]=> 
    string(15) "De publishing" 
    ["created_at"]=> 
    string(19) "2013-10-11 12:49:00" 
    ["updated_at"]=> 
    string(19) "2013-10-12 09:44:58" 
    ["date_published"]=> 
    string(10) "02-12-2013" 
    ["name"]=> 
    string(8) "John Doe" 
    } 
    [1]=> 
    object(stdClass)#260 (8) { 
    ["id"]=> 
    int(1) 
    ["author_id"]=> 
    int(1) 
    ["title"]=> 
    string(4) "Demo" 
    ["publisher"]=> 
    string(10) "ooqwwoeqoe" 
    ["created_at"]=> 
    string(19) "2013-10-12 09:45:31" 
    ["updated_at"]=> 
    string(19) "2013-10-12 09:45:36" 
    ["date_published"]=> 
    string(10) "26-12-1993" 
    ["name"]=> 
    string(11) "Demo" 
    } 
    [2]=> 
    object(stdClass)#261 (8) { 
    ["id"]=> 
    int(1) 
    ["author_id"]=> 
    int(1) 
    ["title"]=> 
    string(12) "Read My Mind" 
    ["publisher"]=> 
    string(13) "TF Publishing" 
    ["created_at"]=> 
    string(19) "2013-10-12 09:46:53" 
    ["updated_at"]=> 
    string(19) "2013-10-12 09:46:53" 
    ["date_published"]=> 
    string(10) "30-11-2009" 
    ["name"]=> 
    string(11) "James Mones" 
    } 
} 

我將如何轉換的3項數組成3個獨立的對象?所以我可以直接打電話給他們:$books->id,而不是$books[0]->id

回答

0

是這個,你的意思是?

$book0 =& $books[0]; 
$book1 =& $books[1]; 
$book2 =& $books[2]; 

echo $book0->id 
2

它不是100%清楚你的意思,你是否希望三個對象作爲獨立變量,或者你只需​​要訪問它們的方式。

一個簡單的foreach應該就足夠了。

foreach ($collection as $model) 
{ 
    $id = $model->id; 
} 

或者,Eugen提供的答案會抓住變量的特定索引供您使用。

0

您可以使用

list($books1, $books2, $books3) = $arrayOfObjects; 

DEMO.

因此,如果您$arrayOfObjects有三個對象裏面,然後每一個對象都將被從數組中取出,將存儲在list和你提供的變量可以使用的第一個對象像

echo $books1->id; 
echo $books2->id; 
echo $books3->id; 

此外,使用了循環,你可以像

foreach($arrayOfObjects as $books) { 
    echo $books->id; 
}