如何将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; } ?> 

正如你在你的问题中显示,似乎你需要一个特定的组中的用户名数组:)在这种情况下,我喜欢一个简单的while循环一个很好的SQL查询;)

 <?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; } 

只要在你的代码中尝试上面的代码。