-1

「配列コレクション A」と「配列コレクション B」の 2 つの配列コレクションをロードしました。2 つの配列の配列キー値 paris を比較したい。出力配列の結果フォーマットについて言及しました。私たちを助けてください。どうやってするの。

foreach($rec_res as $key => $itemA)
{
    $match=0;

    foreach($domain_result as $itemB)
    {
        if($itemA["item_id"]==$itemB["item_id"] && $itemA["order_id"]==$itemB["order_id"])
        {
           if( !in_array($itemB["domain_name"],$activated) && isset($itemB["license_id"]) ) 
           {
            $rec_res[$key]["domain_name"]=$itemB["domain_name"];
            $rec_res[$key]["activation_key"]=$itemB["activation_key"];
            $rec_res[$key]["license_id"]=$itemB["license_id"];
            $rec_res[$key]["active_license"]=$itemB["active_license"];
            $rec_res[$key]["dm_item_id"]=$itemB["item_id"];

            $match=1;
            $activated[] = $itemB["domain_name"];
            break;
        }
    }
    if($match==0)
    {
            $rec_res[$key]["domain_name"]="";
            $rec_res[$key]["activation_key"]="";
            $rec_res[$key]["license_id"]="";
            $rec_res[$key]["active_license"]="";
            $rec_res[$key]["dm_item_id"]="";


    }
}        

配列コレクション A:

Array
(
    [0] => Array
        (
            [item_id] => 229
            [product_id] => 2

        )

    [1] => Array
        (
            [item_id] => 229
            [product_id] => 3

        )

    [2] => Array
        (
            [item_id] => 229
            [product_id] => 2

        )
    [3] => Array
        (
            [item_id] => 229
            [product_id] => 2

        )

)

配列コレクション B:

Array
(
    [0] => Array
        (
            [license_id]=>1
            [item_id] => 229
            [product_id] => 2
            [domain_name]=> www.yahoo.com


        )

    [1] => Array
        (
            [license_id]=>2
            [item_id] => 229
            [product_id] => 3
            [domain_name]=> www.yahoo.com


        )

    [2] => Array
        (
           [license_id]=>3
           [item_id] => 229
           [product_id] => 2
           [domain_name]=> www.google.com

        )
)

出力:

  Array
(
    [0] => Array
        (
            [item_id] => 229
            [product_id] => 2
            [license_id]=> 1
            [domain_name]=> www.yahoo.com

        )

    [1] => Array
        (
            [item_id] => 229
            [product_id] => 3
            [license_id]=> 2
            [domain_name]=> www.yahoo.com


        )

    [2] => Array
        (
            [item_id] => 229
            [product_id] => 2
            [license_id]=> 3
            [domain_name]=> www.google.com

        )
    [3] => Array
        (
            [item_id] => 229
            [product_id] => 2
            [license_id]=> 
            [domain_name]=> 


        )

)  

ありがとう。

4

1 に答える 1

0

複製。キーでマージする必要があります。

2 つの配列をマージし、数値キーの結果を結合します

Madara が述べたように、これがデータベースからのものである場合は、結合クエリを使用してコンピューティング コストをデータベースに移動します。

于 2013-05-31T12:18:51.937 に答える