-1

我已经加载了两个数组集合“数组集合 A”和“数组集合 B”。我想比较两个数组中的数组键值 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 回答