1

我希望array_combine能够采用两个数组,例如:

array('sample', 'sample_two', 'sample');
array(array('info', 'info_two'), array('bananas'), array('more_stuff'));

并产生:

array(
    'sample' => array(
         'info', 'info_two', 'more_stuff' 
    ),
    'sample_two' => array(
         'bananas'
    )
);

相反,我得到:

array(
    'sample' => array(
        'more_stuff' 
    ),
    'sample_two' => array(
         'bananas'
    )
);

现在我知道 php 不允许重复键,那么我该如何使用array_combine或其他方法来实现所需的数组?可以肯定地说,第一个数组在布局方面总是与第二个数组匹配。所以你可以在数组一和数组二的值之间画线。

4

1 回答 1

2

为什么不编写自己的函数?

function my_array_combine(array $keys, array $values) {
    $result = array();
    for ($i = 0; $i < count($keys); $i++) {
       $key = $keys[$i];
       if (!isset($result[$key])) {
          $result[$key] = array();
       }
       $result[$key] = array_merge($result[$key], $values[$i]);
    }
    return $result;
}
于 2013-11-14T18:40:30.867 回答