2017-10-05 1 views
0

데이터베이스의 데이터로 배열을 채우고 싶습니다. 나는 그것에 대해 루프를 만들었지 만 내가 뭔가 잘못하고있는 것 같아 (그것에 대해 정말 죄송 프로그래밍 아주 새로운을 나는 아직도 해요!) 덤프 문 만이 가정에도 불구하고 한 사용자 수를 계산for 루프로 PHP 채우기 배열

for($i=0; $i<count($uploadprofile->getAgencies()); $i++){ 
    foreach($uploadprofile->getAgencies() as $agency) { 
    $users[$i] = $agency->getAgencyUser(); 
    } 
    } 
    dump(count($users)); 

거기에 3 명의 사용자가 있습니다.

는 그때 이후 루프에 대한 기타의 데이터를 사용하여이 배열이 필요합니다

for($i=0; $i<count($users); $i++){ 
    foreach($users as $user){ 
     $manager->addNotification($user->toArray()[$i], $notif); 
    } 
    } 

나는 이것이 정말 나쁜 코딩입니다 확신합니다. 너무 단순한 뭔가를 위해 너무 많은 선처럼 보입니다. 그래서 나는 단지 "downvoting"보다는 어떤 충고에 대해서 정말 기뻐할 것입니다!

엔티티에 대한 자세한 정보가 필요하면 제공 해줘서 기쁩니다.

답변

2

내가 뭔가를 놓치지 않으면, 당신은 너무 많은 루프를 가지고 있고, 나는 foreach을 붙잡을 것이다.

foreach($uploadprofile->getAgencies() as $agency){ 
    $user = $agency->getAgencyUser(); 
    $manager->addNotification($user->toArray(), $notif); 
} 
+0

감사합니다 : 당신이 실제로 그럼 그냥 결합이 후 $users 배열을 필요로하지 않을 경우,

foreach($users as $user){ $manager->addNotification($user->toArray(), $notif); } 

을하지만 다음 $users 배열을 만들려면 :

foreach($uploadprofile->getAgencies() as $agency){ $users[] = $agency->getAgencyUser(); } 

는이 기능을 사용하려면 귀하의 빠른 답변을 위해 너무 많이! 방금 ​​시도했으나 덤프 (count ($ users)) 할 때 숫자가 1이지만 3이 아닌 이유는 무엇입니까? :) – sonja

+0

오, 그리고 당신의 단점 - 해결책을뿐만 아니라 시도, 그 유일한 문제는, 첫 번째 인수는 addNotification 메서드에 주어진 배열 수 없습니다. 그래서 정확한 위치를 추가했습니다 ([$ i]). 하지만이 문제를 해결할 수있는 더 매끄러운 방법이있을 것입니다. 그것을 듣고 싶어요! :디 – sonja