不理解数组? - 从两个数组创建关联

时间:2013-11-13 20:32:23

标签: php arrays

我有两个看起来像这样的数组:

$array_one = array('one', 'two', 'three');
$array_two = array(array('one', 'one', 'one'), array('two', 'two', 'two'), array('three', 'three', 'three'))

然后我想要一个关联数组,将每个名称与数组匹配:

array(
    'one' => array('one', 'one', 'one'),
    // .... and so on
);

问题吗

我认为这很容易做到:

some_storage = array();
foreach($array_one as $key){
    foreach($array_two as $value){
        $some_storage[$key] = $value;
    }
}

但显然我失败了,因为最终的结果是:

array(
    'one' => array('three', 'three', 'one'),
    'two' => array('three', 'three', 'three'),
    'three' => array('three', 'three', 'three'),
);

我知道修复很简单 - 但我不知道它是什么......

3 个答案:

答案 0 :(得分:4)

这看起来可以用array_combine完成。

答案 1 :(得分:2)

$array_result = array();
foreach ($array_one as $key => $val)
    $array_result[$val] = $array_two[$key];

答案 2 :(得分:0)

解决你的问题是你的嵌套循环遍历Array Two的所有值 为什么不尝试for循环:

for ($i = 0; $i < count($array_one); $i += 1) {
    $some_storage[$array_one[$i]] = $array_two[$i];
}