簡體   English   中英

PHP如何使用循環創建動態數組

[英]PHP How to create dynamic array with a loop

我覺得我缺少一些非常基本的東西,或者也許這是一個愚蠢的問題,但是這里有:

我需要一個URL數組,但是它需要基於$ numberOfinstances是動態的。

這是我嘗試過的:

<?php
$numberOfinstances = 3;
$i = 1;
while ($i <= $numberOfinstances) {
    $arr = array(
        '../../../toolbox'.$i.'/importer/tokens.CC.csv',    
    );  
    $i++;
}
print_r($arr);

我得到這個:

Array ( 
    [0] => ../../../toolbox3/importer/tokens.CC.csv
    )

我需要的是:

Array ( 
    [0] => ../../../toolbox1/importer/tokens.CC.csv,
    [1] => ../../../toolbox2/importer/tokens.CC.csv,
    [2] => ../../../toolbox3/importer/tokens.CC.csv
    )

我想念什么?

您在遍歷循環時將覆蓋$arr的值,而不是添加至該值。 將您的代碼更改為類似的內容(請注意循環中對$arr[]的更改,以將新值推送到數組中;請注意,我們只是將字符串(而不是數組)推送到數組中):

$numberOfinstances = 3;
$i = 1;
$arr = array();
while ($i <= $numberOfinstances) {
    $arr[] = '../../../toolbox'.$i.'/importer/tokens.CC.csv';  
    $i++;
}
print_r($arr);

3v4l.org上的演示

在您的代碼中,數組是重疊的,在這里您可以使用array_push()來解決該問題,

嘗試這個

<?php
$numberOfinstances = 3;
$i = 1;
$arr = array();
while ($i <= $numberOfinstances) {
    array_push($arr,'../../../toolbox'.$i.'/importer/tokens.CC.csv');
    //$arr[] = '../../../toolbox'.$i.'/importer/tokens.CC.csv';  
    $i++;
}
print_r($arr);

暫無
暫無

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

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