0

2 つの数値配列があります (これらの配列は常に同じ数のキーと値を持ちます)。

$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 => "値1", 1 => "値2");
       $array_final = convert_if_same_keys($array1,$array2);
       print_r($array_final);


       function convert_if_same_keys( $array_one, $array_two ) {

         $expected = false;

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

         $diff = array_diff_key($array_one, $array_two);
         if( empty($diff) && count($array_one) == count($array_two) ) {
             $expected = array_combine( $array_one, $array_two );
         }

          $expected を返します。
       }

于 2013-05-22T13:42:14.790 に答える