Как сохранить значения из цикла foreach в массив?
необходимо сохранить значения из цикла foreach в массив, нужна помощь в этом. Код ниже не работает, только хранит последнее значение, пробовал $items .= ..., но это тоже не делает трюк, любая помощь будет оценена по достоинству.
<?php
foreach($group_membership as $i => $username) {
$items = array($username);
}
print_r($items);
?>
7 ответов
объявить $items
массив вне цикла и использовать $items[]
чтобы добавить элементы в массив:
$items = array();
foreach($group_membership as $username) {
$items[] = $username;
}
print_r($items);
<?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;
}
просто попробуйте выше в коде .
этот вопрос кажется довольно старым, но если вы его передадите, вы можете использовать встроенную в PHP функцию array_push () для передачи данных в массив, используя пример ниже.
<?php
$item = array();
foreach($group_membership as $i => $username) {
array_push($item, $username);
}
print_r($items);
?>