2012-03-30 126 views
0

我有一個巨大的數組,我用foreach循環。遍歷數組並在PHP中創建項目集合?

foreach ($items as $item) { 
    $sender = $item->getSender(); 
    $id = $item->getId(); 
} 

$ sender可以是任何字符串,但不同的項目($ item)可以具有相同的字符串。這意味着在一個foreach中,$ sender可以具有相同的值。現在我想將id($ id)存儲在一個數組中或類似於每個$ sender的東西。所以如果$ sender是「abcde」3次我想要一個包含3個項目的數組,並且可以說$ sender是「ztra」2次,我想要爲這個數組添加2個ID。

所以我需要的是每個發件人的ID集合,我該怎麼做?

謝謝!

回答

1
$perSender = array(); 
foreach ($items as $item) { 
    $perSender[$item->getSender()][] = $item->getId(); 
} 

var_dump($perSender); 

應該做的伎倆....

0

如果你在每個數組中存儲一個數組,那麼你可以擁有你想要的每件物品的集合。

在多個ID的情況下,這是一樣簡單:

$items = array(
    array('id' => array(1,2,3,4), 'otherStuff'=>'xyz'), 
    array('id' => array(5,6,7,8), 'otherStuff'=>'abc'), 
);