在php中动态构建数组
我需要这个数组变得动态:(初始输出) 我有一个for循环,它(在几个条件之后)返回一些东西作为VAR:在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($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);