组合两个数组的键和值

时间:2012-07-18 23:18:26

标签: php arrays

  

可能重复:
  Merging PHP array, one as Keys the other as Values?

我在PHP中有以下两个数组,它们代表大气气体及其成分:

Array
(
    [0] => nitrogen
    [1] => argon
    [2] => oxygen
    [3] => carbon dioxide
)

Array
(
    [0] => 78
    [1] => 1
    [2] => 21
    [3] => 0
)

是否有一种优雅的方式来获得以下数组,即键和值的组合:

Array
(
    "nitrogen" => 78
    "argon" => 1
    "oxygen" => 21
    "carbon dioxide" => 0
)

我能想到的方法涉及循环,我不知道我是否使它变得复杂。有一个简单的方法吗?

4 个答案:

答案 0 :(得分:2)

array_combine(),简化:

$new_arr = array_combine($keys,$values);

答案 1 :(得分:1)

信不信由你 - array_combine()存在且完全您正在寻找的东西!

http://php.net/manual/en/function.array-combine.php

  

array_combine - 使用一个数组来创建一个数组   另一个是它的价值


从以上链接改编的示例 -

$a = array('Stack', 'Server', 'Super');
$b = array('Overflow', 'Fault', 'User');
$c = array_combine($a, $b);

print_r($c);

Array
(
    [Stack] => Overflow
    [Server] => Fault
    [Super] => User
)

你有它 - 一个适合tr il ogy的数组。

答案 2 :(得分:1)

使用array_combine

$key = array('nitrogen', 'argon', 'oxygen', 'carbon dioxide');
$values = array(78, 1, 21, 0 );

$return = array_combine($key, $values);

print_r($return);

输出:

Array
(
    [nitrogen] => 78
    [argon] => 1
    [oxygen] => 21
    [carbon dioxide] => 0
)

答案 3 :(得分:1)

array_combine()示例:

<?php
print_r(array_combine(Array('a','a','b'), Array(1,2,3)));
?>

返回: 排列 (     [a] =&gt; 2     [b] =&gt; 3 )

如果两个键相同,则第二个键占优势。