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


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

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

print_r($items);
?>
7 87

7 ответов:

объявить $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; 
}

просто попробуйте выше в коде .

этот вопрос кажется довольно старым, но если вы его передадите, вы можете использовать встроенную функцию PHP array_push() для отправки данных в массив, используя пример ниже.

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