根据另一个数组的值设置数组的键


Set the keys of an array according to another one's values

$array1 = array( [0] => 2 [1] => 3 [2] => 5 [3] => 6 [4] => 7 [5] => 8 [6] => 9 ) ;
$array2 = array( ( [0] => Array (...) [1] => Array (...) [2] => Array (...) ... [6] => Array (...));

它们具有相同数量的元素。我希望array2的键值是array1的值

应该成为:

 $array2 = array( ( [2] => Array (...) [3] => Array (...) [5] => Array (...) ... [9] => Array (...));

我写了这段代码,但我不知道为什么它只返回array2的一部分。

reset($array1);reset($array2);
foreach ($array2 as $k => $v) {
   unset ($array2[$k]);
   $new_key =  current($array1);
   next($array1);
   $array2[$new_key] = $v;
}
print_r($array2);

使用array_combine创建一个对象,其中键来自一个数组,值来自另一个数组。

$array_1 = array ('hello','world','stackoverflow');
$array_2 = array (
  array ('greetings'),
  array ('planet'),
  array ('websitefilledwithgeeks')
);
print_r (
  array_combine ($array_1, $array_2)
);

输出
    Array
(
    [hello] => Array
        (
            [0] => greetings
        )
    [world] => Array
        (
            [0] => planet
        )
    [stackoverflow] => Array
        (
            [0] => websitefilledwithgeeks
        )
)

PHP: array_combine