一个数组有35个元素(mysql列名)
数组(1个=> ID...)
其次是几个元素:
Array ( [1] => 63 [2] => REF213211 [3] => aaa [7] => Warszawa [8] => Wola [12] => 100 [14] => 1 [15] => 100 [35] => 1 ) 我需要将第一个数组组合为第二个数组的键
请帮帮忙
发布于 2010-08-17 21:49:23
您可以使用如下所示的简单foreach:
$combined = array();
foreach ($keys as $index => $key) {
$combined[$key] = isset($values[$index]) ? $values[$index] : null;
}这会将$keys中的键与$values中的值组合在一起。如果在$values中没有相应的值,则会导致null。
发布于 2018-09-06 18:24:43
示例:
$header = ["a", "b", "c"];
$values = array_combine($header, array_fill(0,count($header),null));结果:
array(3) {
'a' => NULL
'b' => NULL
'c' => NULL
}发布于 2010-08-17 21:57:32
如果密钥是相同的(看起来在你的情况下),这很简单:
$combined_array = array_combine( array_values($array1), array_values($array2) );如果第一个数组的键交集比第二个数组多,您可以为array1生成一个临时数组,该数组只包含array2 (键的交集)中的这些键:
$temporary = array_intersect_key( $array1, $array2 );
$combined_array = array_combine( array_values($temporary), array_values($array2) );问候
rbo
https://stackoverflow.com/questions/3503066
复制相似问题