我有一个巨大的数组,我用foreach循环它。
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集合,我该怎么做呢?
谢谢!
$perSender = array();
foreach ($items as $item) {
$perSender[$item->getSender()][] = $item->getId();
}
var_dump($perSender);
应该做到这一点。。。。
如果在每个数组中存储一个数组,那么每个项目就可以有一个所需的任何东西的集合。
在多个ID的情况下,这很容易:
$items = array(
array( 'id' => array(1,2,3,4), 'otherStuff'=>'xyz' ),
array( 'id' => array(5,6,7,8), 'otherStuff'=>'abc' ),
);