繁体   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