我有一个数组,我想用该数组作为表在codeigniter中创建一个表。
如何合并作为另一个数组的数据?
这是我的列名
Array
(
[0] => System_ID
[1] => Last Name
[2] => First Name
[3] => Full Name
[4] => Phone
[5] => Ext
[6] => Email
[7] => Dept
[8] => Site
[9] => Room
[10] => Job Title
[11] => Image
[12] => URL
[13] => Active
)
这是我要合并为值的数组
Array
(
[type] => VARCHAR
[constraint] => 200
)
这是我想要的最终结果:
$fields = array(
'System_ID' => array(
'type' => 'VARCHAR',
'constraint' => '100',
),
);
答案 0 :(得分:2)
如果您希望第一个数组中的所有值都具有相同的值,则简单的array_fill_keys
将起作用:
$array1 = ['System ID', 'Last Name'];
$array2 = [
'type' => 'VARCHAR',
'constraint' => '200',
];
print_r(array_fill_keys($array1, $array2));
Demo。
答案 1 :(得分:0)
如果我正确理解了您的问题,那么应该可以。遍历第一个数组,并将其值用作新数组的索引(名称现在必须是唯一的),然后将数组to_add
添加为值。
$to_add = ['type' => 'VARCHAR', 'constraint' => 100];
$data = [];
foreach ($first_array as $index => $value) {
$data[$value] = $to_add;
}
print_r($data);
我要补充一点,我认为所有具有相同特征的列很奇怪。例如,ID通常是unsigned int 11
。
答案 2 :(得分:0)
尝试一下:
$result = array_flip($array_with_column_names);
array_walk($result, function(&$value) {
$value = $array_with_needed_values;
});
var_dump($result);