2011-03-24 115 views
7

有没有一种快速的方法来组合一个数组值作为另一个数组的键?如何将两个数组组合在一起?

输入:

array A => Array (
     [0] => "cat" 
     [1] => "bat" 
     [2] => "hat" 
     [3] => "mat" 
    ) 

array B => Array (
     [0] => "fur" 
     [1] => "ball" 
     [2] => "clothes" 
     [3] => "home" 
    ) 

预期输出:

array C => Array (
     [cat] => "fur" 
     [bat] => "ball" 
     [hat] => "clothes" 
     [mat] => "home" 
    ) 

我怎么能这样做呢?

回答

21

array_combine()将你到底要什么。

引述手册:

array array_combine (array $keys , array $values) 

创建通过使用从键阵列作为键,并从值阵列中的相应值的值的值的数组。

在你的情况,你必须做这样的事情:

$array['C'] = array_combine($array['A'], $array['B']); 

虽然,当然你也可以使用循环的各种组合来做到这一点,array_combine()可能是最简单解。

+0

我刚刚在SO上登录,专门为我写评论,并为我投票,我的评论是:你是岩石!男人:)谢谢,我只是想从Excel文件中读取数据,并通过您的答案进行了插入查询。再次感谢.... – 2015-09-26 18:45:15

2

你可以用array_combine简单地做到这一点:

// First parameter will be used as the keys, the second for the values 
$new_array = array_combine($keys_array, $values_array); 
1

试试这个:array_combine($a, $b);