1

私は2つの配列を持っています。

Array
(
    [0] => Array
        (
            [id] => 12
            [user_id] => 1
            [date] => 2013-10-21 23:01:52
            [type] => 1
            [name] => Wypłata UNDICOM
            [quantity] => 0
            [value] => 1700
        )

    [1] => Array
        (
            [id] => 13
            [user_id] => 1
            [date] => 2013-10-21 23:01:52
            [type] => 0
            [name] => Rata (gwarancja MacBook Air)
            [quantity] => 0
            [value] => 90
        )

    [2] => Array
        (
            [id] => 16
            [user_id] => 1
            [date] => 2013-10-21 23:01:52
            [type] => 0
            [name] => TESCO (zakupy)
            [quantity] => 0
            [value] => 0
        )

)
Array
(
    [0] => Array
        (
            [id] => 3
            [data_id] => 16
            [name] => Coca-Cola
            [quantity] => 2
            [value] => 5
        )

    [1] => Array
        (
            [id] => 4
            [data_id] => 16
            [name] => Pizza
            [quantity] => 1
            [value] => 10
        )

)

この 2 つの配列を表示したいのですが、最初の配列はカテゴリで、2 番目の配列には要素があります。関係は id (最初の配列) と data_id (2 番目の配列) の間にあります。MySQLでは単純なLEFT JOINですが、PHPでそのような機能があるかどうかはわかりません。if などのコードを試しましたが、成功しませんでした。簡単な解決策が欲しいので、それが不可能な場合は教えてください。

乾杯!

4

1 に答える 1

1

jeroenが述べたように、両方の配列をループして、結合を持つ要素のみを取得できます。

$len1 = count(array1);
$len2 = count(array2);

for($i = 0 ; $i < len1 ; $i++)
{
   for($j = 0 ; $j < len2 ; $j++)
   {
       if($array1[$i]['id'] == $array2[$j]['data_id'])
       {
            //some processing which you want to do with this data
       }
   }
}
于 2013-10-31T03:24:52.877 に答える