簡體   English   中英

在每次for循環迭代中覆蓋數組

[英]Array being overriden at each iteration of for loop

如何將變化的變量($ i,$ j)存儲在info數組中,以便它包含所有值而不僅僅是最后一個?

<?php
    for($i=0,$j=0;$i<3;$i++,$j++){
        $members=array($i,$j);
        $info=array();
        foreach ($members as $k) { 
            $info[]=$k;
        }
    }    
    print_r($info);
?>

只需將數組變量$info放到循環外部,它在每次迭代中都會被覆蓋。

<?php
$info=array();
for($i=0,$j=0;$i<3;$i++,$j++){
$members=array($i,$j);

foreach ($members as $k) { 
    $info[]=$k;
}
}
print_r($info);
?>

檢查您的輸出: https : //eval.in/608707

我不知道您的目的,但您也可以通過多種方式來實現

  1. https://eval.in/608744

  2. https://eval.in/608721

這也可以做到

<?php
    $info=array();
    for($i=0,$j=0;$i<3;$i++,$j++){
    $info=array_merge($info,array(array($i,$j)));

    }
    print_r($info);
    ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM