我想用数据库中的数据填充数组。我为此创建了一个for循环,但我认为我做错了(我还是很新的编程,所以很抱歉!)
for($i=0; $i<count($uploadprofile->getAgencies()); $i++){
foreach($uploadprofile->getAgencies() as $agency) {
$users[$i] = $agency->getAgencyUser();
}
}
dump(count($users));
dump语句只计算1个用户,即使那里应该有3个用户。
我需要这个数组然后使用其他for循环中的数据:
for($i=0; $i<count($users); $i++){
foreach($users as $user){
$manager->addNotification($user->toArray()[$i], $notif);
}
}
我确信这是非常糟糕的编码。对于那些简单的东西来说,它看起来太多了。所以我会对任何建议感到高兴,而不仅仅是“低调”!
如果需要有关实体的更多信息,我很乐意提供它们!
答案 0 :(得分:2)
除非我遗漏了某些东西,否则你有太多的循环,我会坚持使用foreach
。构建$users
数组:
foreach($uploadprofile->getAgencies() as $agency){
$users[] = $agency->getAgencyUser();
}
使用它:
foreach($users as $user){
$manager->addNotification($user->toArray(), $notif);
}
但是,如果您在此之后实际上不需要$users
数组,那么只需合并:
foreach($uploadprofile->getAgencies() as $agency){
$user = $agency->getAgencyUser();
$manager->addNotification($user->toArray(), $notif);
}