Моя цель — создать массив длиной N с предварительно заполненными именами столбцов PHP
, Вот пример,
if N = 5; then
$test_array = array('column1', 'column2', 'column3', 'column4', 'column5');
Я старался array_fill
функция, но значения массива одинаковы. Может кто-нибудь предложить мне лучший метод?
Обновить
Вот так это выглядит при использовании array_fill
, Я знаю, я могу использовать foreach
и решить это в течение доли секунды, что я ищу метод одной строки; если существует.
<?php
$n = 5;
$test_array = array_fill(0, $n, 'column');
echo print_r($test_array, true);
?>
Результат: Массив ([0] => столбец [1] => столбец [2] => столбец [3] => столбец [4] => столбец)
Я думаю, это то, что вы ищете, учитывая, что вы написали «имена столбцов», которые должны быть предварительно заполнены:
<?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'
}
В 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] => )
<?php
$array = [];
for ($i=0; $i<5; $i++) {
$array['column'.$i] = null;
}
die($array);
?>