繁体   English   中英

如何将foreach循环中的值存储到数组中?

[英]How to store values from foreach loop into an array?

需要将 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);

$items[] = $username;
<?php 
$items = array();
$count = 0;
foreach($group_membership as $i => $username) { 
 $items[$count++] = $username; 
} 
print_r($items); 
?>

尝试

$items = array_values ( $group_membership );

你可以试着做我的回答,

你写了这个:

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

这是你如何做到的:

foreach($orders as $item){
   $transactionIds[]  =   $item->generated_order_id;
}

dump($transactionIds);

这是假设 $orders 集合有一个名为“generated_order_id”的字段。

这个问题看起来很老,但如果你通过它,你可以使用 PHP 内置函数 array_push() 使用下面的示例将数据推送到数组中。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM