我的目标是创建一个N长度的数组,其中预填充的列名称为<a>
。这是一个例子,
PHP
我尝试了if N = 5; then
$test_array = array('column1', 'column2', 'column3', 'column4', 'column5');
函数,但数组值相同。有人可以建议我一个更好的方法吗?
更新
这是使用array_fill
时的外观。我知道,我可以使用array_fill
并在几秒钟内解决这个问题,我正在寻找单行方法;如果存在。
foreach
结果:数组([0] =&gt;列[1] =&gt;列[2] =&gt;列[3] =&gt;列[4] =&gt;列)
答案 0 :(得分:1)
我想这就是你要找的东西,考虑到你写的“列名”要预先填写:
<?php
$test_array = [];
for ($i=0; $i<5; $i++) {
$test_array['column'.$i] = null;
}
var_dump($test_array);
这将创建此输出:
array(5) {
'column0' => NULL
'column1' => NULL
'column2' => NULL
'column3' => NULL
'column4' => NULL
}
如果您正在寻找“列值”,那么预先填充数组元素,然后尝试:
<?php
$test_array = [];
for ($i=0; $i<5; $i++) {
$test_array[] = 'column'.$i;
}
var_dump($test_array);
这将创建此输出:
array(5) {
0 => 'column0'
1 => 'column1'
2 => 'column2'
3 => 'column3'
4 => 'column4'
}
答案 1 :(得分:0)
在Php中,数组是动态的。您不需要设置其长度。根据您的需要,您可以创建一个数组作为键(列名),然后将其组合到包含数组的值。尝试下面 -
$column_array=array('column1', 'column2', 'column3', 'column4', 'column5');
$value_array=array('a','b','c','d','e');
$reslut=array_combine($column_array,$value_array);
print_r($result);
<强>输出强>
Array ( [column1] => a [column2] => b [column3] => c [column4] => d [column5] => e )
array_combine需要两个数组都有相同的长度。当你的条件停留时,可能是某些列可能是空值。在这种情况下工作如下 -
$column_array=array('column1', 'column2', 'column3', 'column4', 'column5');
$value_array=array('a','b','c','d');
$value_array +=array_fill(
count($value_array),
count($column_array)-
count($value_array),null);
//filling array upto column array length
$result=array_combine($column_array,$value_array);
print_r($result);
<强>输出强>
Array ( [column1] => a [column2] => b [column3] => c [column4] => d [column5] => )
答案 2 :(得分:0)
<?php
$array = [];
for ($i=0; $i<5; $i++) {
$array['column'.$i] = null;
}
die($array);
?>