具有for循环的Php填充数组

时间:2017-10-05 17:07:35

标签: php arrays symfony for-loop foreach

我想用数据库中的数据填充数组。我为此创建了一个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);
    }
  }

我确信这是非常糟糕的编码。对于那些简单的东西来说,它看起来太多了。所以我会对任何建议感到高兴,而不仅仅是“低调”!

如果需要有关实体的更多信息,我很乐意提供它们!

1 个答案:

答案 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);
}