如何将一个键与数组组合为值?

时间:2019-06-17 08:38:40

标签: php codeigniter

我有一个数组,我想用该数组作为表在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',
    ),
);

3 个答案:

答案 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);