Как сохранить значения из цикла foreach в массив?

Необходимо хранить значения из цикла foreach в массиве, вам нужна помощь в этом. Код ниже не работает, только сохраняет последнее значение, пробовал $ items. = …, но это тоже не делает трюк, любая помощь будет оценена.

<?php foreach($group_membership as $i => $username) { $items = array($username); } print_r($items); ?> 

Объявите массив $items вне цикла и используйте $items[] для добавления элементов в массив:

 $items = array(); foreach($group_membership as $username) { $items[] = $username; } print_r($items); 

использование

 $items[] = $username; 

Пытаться

 $items = array_values ( $group_membership ); 
 <?php $items = array(); $count = 0; foreach($group_membership as $i => $username) { $items[$count++] = $username; } print_r($items); ?> 

Вы можете попытаться ответить на мой вопрос,

Вы написали это:

 <?php foreach($group_membership as $i => $username) { $items = array($username); } print_r($items); ?> 

И в вашем случае я бы сделал это:

 <?php $items = array(); foreach ($group_membership as $username) { // If you need the pointer (but I don't think) you have to add '$i => ' before $username $items[] = $username; } ?> 

Как вы видите в своем вопросе, кажется, что вам нужен массив имен пользователей, которые находятся в определенной группе 🙂 В этом случае я предпочитаю хороший SQL-запрос с простым циклом while;)

 <?php $query = "SELECT `username` FROM group_membership AS gm LEFT JOIN users AS u ON gm.`idUser` = u.`idUser`"; $result = mysql_query($query); while ($record = mysql_fetch_array($result)) { \ $items[] = $username; } ?> 

while как быстрее, но последний пример является лишь результатом наблюдения. 🙂

 $items=array(); $j=0; foreach($group_membership as $i => $username){ $items[$j++]=$username; } 

Просто попробуйте сделать это в своем коде.