Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中动态构建数组_Php_Arrays - Fatal编程技术网

在php中动态构建数组

在php中动态构建数组,php,arrays,Php,Arrays,我需要这个数组变得动态:(初始输出) 我有一个for循环,它(在几个条件之后)返回一些东西作为VAR: for($i = 0; $i < N; $i++) { (...) END AS var1; (...) END AS var2; (...) END AS var3; (...) END AS varN; (...) END AS (...) } 第二个循环后的预期输出: $data[0] = array('var0','v

我需要这个数组变得动态:(初始输出)

我有一个for循环,它(在几个条件之后)返回一些东西作为VAR:

for($i = 0; $i < N; $i++) 
    {
    (...) END AS var1;
    (...) END AS var2;
    (...) END AS var3;
    (...) END AS varN;
    (...) END AS (...)
    }
第二个循环后的预期输出:

 $data[0] = array('var0','var1','var2');
并继续(预期最终输出):

如何做到这一点?

要将某些内容“推”到数组的末尾,请使用
[]
语法:

$data[0][] = 'something to add to array';
例如

$data[0]
将包含:

array('first','second');
也许你想要:。然后可以将变量添加到循环中的数组中。

for($i=0;$ifor($i = 0; $i < N; $i++) {
    $data[0][] = 'var' . $i;
}
$data[0][]=“变量”。$i; }
为什么不在数字范围前加前缀,例如通过:

如果你的射程在射程之内,你也可以这样做:

$prefix = function($prefix) {
    return function($v) use ($prefix) {
        return $prefix . $v;
    };
};

$map = function($v) use ($prefix) {
    return array_map($prefix('var'), range(0, $v));
}

$data = array_map($map, range(0, $n - 1));
或一次全部压实:

$data[0] = array();
$data[0][] = 'first';
$data[0][] = 'second';
array('first','second');
for($i = 0; $i < N; $i++) {
    $data[0][] = 'var' . $i;
}
$data[$i] = array_map(function($v) {return 'var' . $v;}, range(0, $i));
$prefix = function($prefix) {
    return function($v) use ($prefix) {
        return $prefix . $v;
    };
};

$map = function($v) use ($prefix) {
    return array_map($prefix('var'), range(0, $v));
}

$data = array_map($map, range(0, $n - 1));
$data = array_map(function($v) {
    return array_map(function($v) { return 'var' . $v;}, range(0, $v));       
}, range(0, $n - 1);