我有一个巨大的数组,我用foreach循环。
foreach ($items as $item) {
$sender = $item->getSender();
$id = $item->getId();
}
$ sender可以是任何字符串,但不同的项目($ item)可以具有相同的字符串。这意味着在一个foreach中,$ sender可以具有相同的值。现在我想将ids($ id)存储在数组或类似于每个$ sender的内容中。因此,如果$ sender是“abcde”3次,我想要一个包含3个项目的数组,并且让$ sender是“ztra”2次,我想要一个包含2个ID的数组。
所以我需要的是每个发件人的ID集合,我怎么能这样做?
谢谢!
答案 0 :(得分:1)
$perSender = array();
foreach ($items as $item) {
$perSender[$item->getSender()][] = $item->getId();
}
var_dump($perSender);
应该做的伎俩......
答案 1 :(得分:0)
如果您在每个数组中存储一个数组,那么您可以拥有每个项目所需的任何内容集合。
对于多个ID,这很简单:
$items = array(
array( 'id' => array(1,2,3,4), 'otherStuff'=>'xyz' ),
array( 'id' => array(5,6,7,8), 'otherStuff'=>'abc' ),
);