Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将一个键与数组组合为值?_Php_Codeigniter - Fatal编程技术网

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

Php 如何将一个键与数组组合为值?,php,codeigniter,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]

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

如果我正确理解你的问题,那么这应该行得通。迭代第一个数组并使用其值作为新数组的索引(名称现在必须唯一),然后将数组
添加到\u add
作为值

$to_add = ['type' => 'VARCHAR', 'constraint' => 100];

$data = [];

foreach ($first_array as $index => $value) {

    $data[$value] = $to_add;

}

print_r($data);

我要补充一点,我认为所有列都具有相同的特征是很奇怪的。例如,ID通常是
无符号int 11

如果我正确理解了您的问题,那么这应该是可行的。迭代第一个数组并使用其值作为新数组的索引(名称现在必须唯一),然后将数组
添加到\u add
作为值

$to_add = ['type' => 'VARCHAR', 'constraint' => 100];

$data = [];

foreach ($first_array as $index => $value) {

    $data[$value] = $to_add;

}

print_r($data);

我要补充一点,我认为所有列都具有相同的特征是很奇怪的。例如,一个ID通常是一个
无符号int 11

如果您希望第一个数组中的所有值都具有相同的值,那么simple将起作用:

$array1 = ['System ID', 'Last Name'];
$array2 = [
    'type' => 'VARCHAR',
    'constraint' => '200',
];
print_r(array_fill_keys($array1, $array2));

.

如果希望第一个数组中的所有值都具有相同的值,则simple将起作用:

$array1 = ['System ID', 'Last Name'];
$array2 = [
    'type' => 'VARCHAR',
    'constraint' => '200',
];
print_r(array_fill_keys($array1, $array2));
.

试试这个:

$result = array_flip($array_with_column_names);

array_walk($result, function(&$value) {
    $value = $array_with_needed_values;
});

var_dump($result);
试试这个:

$result = array_flip($array_with_column_names);

array_walk($result, function(&$value) {
    $value = $array_with_needed_values;
});

var_dump($result);

其中
类型
约束
用户
来自哪里?@MickaëlLeger这只是一个例子,用我定义的第一个数组替换用户,类型和约束是静态值为什么在第二个数组中约束是200,而在结果-100中,
数组的U值
应该与第一个数组相关?我必须说这是相当不清楚的。@Alex是的,数组值是我的第一个数组这里
类型
约束
用户
来自哪里?@MickaëlLeger这只是一个例子,用我定义的第一个数组替换用户,键入和约束是静态值为什么第二个数组中的约束是200,但在结果-100中,
array\u值
是否应该与第一个数组相关?我不得不说这是相当不清楚的。@Alex是的,数组值是我的第一个数组解决方案,由
u_mulder制作更好)是的,哈哈,我们可能应该删除我们的答案,但我会为后代保留它;)由
u_mulder制定的解决方案更好)是的,哈哈,我们可能应该删除我们的答案,但我会为后代保留它;)