2013-08-30 2 views
0

Внутри цикла foreach, я возвращаю массив ($followerPosts).Массив Construct, содержащий множество массивов

foreach($myfollowers['entities'] as $myfollower) 
{ 
    $followerPosts=$this->displayPostsAction($myfollower->getFollower()); 
} 

мне нужно иметь в конце один один большой массив, содержащий все $followerPosts массивы.

+1

[RTFM] (http://php.net/manual/en/language.types.array. php) – Leri

+0

Спасибо за ссылку @Leri. Я пробовал это, но напрасно. –

+0

Прочтите [это] (http://php.net/manual/en/function.array.php). – Leri

ответ

1
$bigArray = array(); 
foreach($myfollowers['entities'] as $myfollower) 
{ 
    $followerPosts=$this->displayPostsAction($myfollower->getFollower()); 
    $bigArray[] = $followerPosts; 
} 

ИЛИ

$bigArray = array(); 
    foreach($myfollowers['entities'] as $myfollower) 
    { 
     $bigArray[] =$this->displayPostsAction($myfollower->getFollower()); 

    } 
1

Вы можете объявить массив перед циклом, а затем использовать array_merge на каждой итерации

или array_push, это зависит от того, что вы хотите сделать

1

Использование array_merge поместить их все в один массив, как это :

$big = array(); 
foreach($myfollowers['entities'] as $myfollower) 
{ 
    $big = array_merge($big, $this->displayPostsAction($myfollower->getFollower())); 
} 
+0

Большое спасибо Andrius –

1

Вы должны добавить их в массив.

$followerPosts = array() 

foreach($myfollowers['entities'] as $myfollower) 
{ 
    //$followerPosts=$this->displayPostsAction($myfollower->getFollower()); 
    $followerPosts[]=$this->displayPostsAction($myfollower->getFollower()); 

} 

print_r(followerPosts) 
1

Для лучший инструмент, я думаю, это array_map функция:

$followerPosts = array_map(function($f) { 
    return $this->displayPostsAction($f->getFollower());  
}, $myFollowers['entities']); 

var_dump($followerPosts); 
Смежные вопросы