0

我有两个数值数组(这些数组总是有相同数量的键和值)。

$array1 = array(0 => "key1", 1 => "key2");
$array2 = array(0 => "value1", 1 => "value2");
$array_final = array(value of the $array1 => $value of the array2);

如果我写了一会儿并填充$array_final,它只会填充最后一个键和值

所以它就像:

for ($i = 0; $i < count($array(1))
{
    $array_final = array($array1[$i] => $array2[$i]);
}
$array_final = array("key2" => "value2");

但我想要:

$array_final = array("key1" => "value1", "key2" => "value2");
4

3 回答 3

1

你要array_combine

它完全符合您的需要

所以基本上

$array1 = array(0 => "key1", 1 => "key2");
$array2 = array(0 => "value1", 1 => "value2");

$array_final = array_combine($array1, $array2);
于 2013-05-22T13:22:37.727 回答
1
for ($i=0; $i< sizeof($array1) &&  $i< sizeof($array2) ; $i++)
{
  $array_final[$array1[$i]] =$array2[$i];
}
于 2013-05-22T13:24:29.503 回答
0

你可以试试下面的代码。


       $array1 = array(0 => "key1", 1 => "key2");
       $array2 = array(0 => "value1", 1 => "value2");
       $array_final = combine_if_same_keys($array1,$array2);
       print_r($array_final);


       函数 combine_if_same_keys( $array_one, $array_two ) {

         $预期=假;

          ksort($array_one);
          ksort($array_two);

         $diff = array_diff_key($array_one, $array_two);
         如果(空($diff)&&计数($array_one)==计数($array_two)){
             $expected = array_combine($array_one, $array_two);
         }

          返回$预期;
       }

于 2013-05-22T13:42:14.790 回答