一个数组是35个元素(mysql列名)
数组([1] => ID ...)
第二只是少数因素:
Array ( [1] => 63 [2] => REF213211 [3] => aaa [7] => Warszawa [8] => Wola [12] => 100 [14] => 1 [15] => 100 [35] => 1 )
我需要将第一个数组组合为第二个数组的键
请帮忙
答案 0 :(得分:3)
示例:
$header = ["a", "b", "c"];
$values = array_combine($header, array_fill(0,count($header),null));
结果:
array(3) {
'a' => NULL
'b' => NULL
'c' => NULL
}
答案 1 :(得分:2)
如果键是相同的(似乎在你的情况下),它很简单:
$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
答案 2 :(得分:1)
您可以像这样使用简单的foreach
:
$combined = array();
foreach ($keys as $index => $key) {
$combined[$key] = isset($values[$index]) ? $values[$index] : null;
}
这会将$keys
中的键与$values
中的值组合在一起。如果$values
中没有相应的值,则会生成null
。
答案 3 :(得分:0)
$newarray = Array();
foreach( $columnarray as $key => $columnname )
{
if ( isset($secondarray[$key]) ) $newarray[$columnname] = $secondarray[$key];
}
答案 4 :(得分:0)
如果你想得到一个哈希作为结果,迭代两个数组,直到完全遍历最短的数组并将键/值对放入哈希表。