合并两个数组,将第一个数组值保存为键,将第二个数组值保存为值

时间:2014-04-04 14:34:39

标签: php arrays

基本上我有一组键映射(实际上是翻译)和一组数据值。我想基本上用第一个数组的值替换第二个数组的键。

E.G:

$array1 = array(
  'key1' => 'newkey1',
  'key2' => 'newkey2',
  'key3' => 'newkey3',
  'key4' => 'newkey4'
);

$array2 = array(
  'key1' => 'data1',
  'key2' => 'data2',
  'key3' => 'data3',
  'key4' => 'data4',
  'key5' => 'data5',
  'key6' => 'data6'
);

$result = array(
  'newkey1' => 'data1',
  'newkey2' => 'data2',
  'newkey3' => 'data3',
  'newkey4' => 'data4'
);

编辑:向第二个数组添加多余数据

1 个答案:

答案 0 :(得分:7)

如果您确定两个阵列中的元素数量相同,则只需使用array_combine()

$result = array_combine($array1, $array2);

如果您的第二个数组包含多余元素,那么您可以在使用array_combine()之前使用array_intersect_key()删除它们:

$values = array_intersect_key($array1, $array2);
$result = array_combine($array1, $values);

Demo