1

こんにちは、最初の配列は次のようになります。

array(  
    00000 => array(  
                 0 => 123,
                 1 => 456,
                 2 => 789,  
               )
    11111 => array(  
                 0 => 987,  
                 1 => 654,  
                 2 => 321,  
               )

私の2番目の配列は次のようになります。

array(  
    00000 => 'apples',  
    11111 => 'bananas',
)

しようとしているのは、最初の配列のキーを配列 2 のキーと一致させ、それらが一致する場合は、最初の配列のキー ペア値配列の値を取得し、それらを真新しい配列のキーと 2 番目の値にすることです。配列は、それらを真新しい配列の値にします。このようなもの:

array(  
    123 => 'apples',  
    456 => 'apples',  
    789 => 'apples',  
    987 => 'bananas',  
    654 => 'bananas',  
    321 => 'bananas',  
)

助けてくれてありがとう!

4

3 に答える 3

0

こんにちは、実際に私はphp.netでいくつかの調査を行い、解決策を見つけました:

$array3 = array_keys($array1);  
$array4 = array_keys($array2);
$array5 = array_intersect($array3, $array4)
$array6 = array();  

foreach($array5 as $id) {  
    foreach($array1[$id] as $userId) {  
        $array6[$userId] = $array2[$id]  
    }  
}

おそらく必要以上の配列を作成しましたが、これは機能し、値を新しい配列に割り当てる前に両方の配列のキーを一致させます。

答えて助けてくれたすべての人に感謝します!

于 2013-08-20T16:03:44.660 に答える
0

これを試して

$array = array(
    "00000" => array(
                 0 => 123,
                 1 => 456,
                 2 => 789,
    ),
    "11111" => array(
                 0 => 987,  
                 1 => 654,  
                 2 => 321,  
    )
);

$arr = array(  
    "00000" => 'apples',  
    "11111" => 'bananas',
);

$array3 = array();
foreach ($array as $keyas => $segs)
{
    foreach ($segs as $key)
   {
       $array3[$key] = $arr[$keyas];
   }     
}
 echo "<pre>";
 print_r($array3);
 unset($array3);

出力:

Array
(
    [123] => apples
    [456] => apples
    [789] => apples
    [987] => bananas
    [654] => bananas
    [321] => bananas
)
于 2013-08-20T05:01:04.813 に答える