如何将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; }
只要在你的代码中尝试上面的代码。