需要将foreach循环中的值存储到一个数组中,需要帮忙实现。
下面的代码不起作用,只存储最后一个值,尝试过 $items .= ...
,但也没有解决问题,希望得到帮助。
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);
$i
这个变量,就不要提取它。 - Matteo Riva使用
$items[] = $username;
$items = array();
。 - Skilldrick<?php
$items = array();
$count = 0;
foreach($group_membership as $i => $username) {
$items[$count++] = $username;
}
print_r($items);
?>
尝试
$items = array_values ( $group_membership );
foreach($orders as $item){
$transactionIds[] = $item->generated_order_id;
}
dump($transactionIds);
<?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;
}
只需在您的代码中尝试上述内容。
只是为了避免您太多的打字错误:
foreach($group_membership as $username){
$username->items = array(additional array to add);
}
print_r($group_membership);
这个问题看起来很老,但如果你偶然遇到它,你可以使用PHP内置函数array_push(),按照下面的例子将数据推入数组中。
<?php
$item = array();
foreach($group_membership as $i => $username) {
array_push($item, $username);
}
print_r($items);
?>
$i
是无用的) - mickmackusa
.=
表示追加文本。[]
表示将元素添加到数组中。 - Skilldrick