2015-02-12 28 views
1

我有兩個多維數組,我想在這兩個數組之間找到diffrnece,但是如何根據這個鍵subscription_plan_id得到diffrnece。PHP:如何在兩個多維數組中找到差異的空間鍵

我已經使用這個:$result = array_diff_assoc($arr1, $arr2);但得到這樣的錯誤:

Notice: Array to string conversion in /var/www/sitename/application/models/xxx_model.php on line 122 

Notice: Array to string conversion in /var/www/sitename/application/models/xxx_model.php on line 122 

Notice: Array to string conversion in /var/www/sitename/application/models/xxx_model.php on line 122 

Notice: Array to string conversion in /var/www/sitename/application/models/xxx_model.php on line 122 

陣列結果:

Array 
(
    [0] => Array 
     (
      [subscription_plan_id] => 13 
      [plan_month] => 1 
      [start_date] => 2015-03-13 
      [end_date] => 2015-04-12 
      [s_start_date] => 2015-02-12 09:29:33 
      [s_subscription_id] => 70 
     ) 

    [1] => Array 
     (
      [subscription_plan_id] => 2 
      [plan_month] => 1 
      [start_date] => 2015-03-13 
      [end_date] => 2015-04-12 
      [s_start_date] => 2015-02-12 09:26:50 
      [s_subscription_id] => 69 
     ) 

) 

Array 
(
    [0] => Array 
     (
      [subscription_plan_id] => 2 
     ) 

    [1] => Array 
     (
      [subscription_plan_id] => 13 
     ) 

    [2] => Array 
     (
      [subscription_plan_id] => 36 
     ) 

    [3] => Array 
     (
      [subscription_plan_id] => 39 
     ) 

) 

我想這樣的結果:

Array 
(
    [0] => Array 
     (
      [subscription_plan_id] => 36 
     ) 

    [1] => Array 
     (
      [subscription_plan_id] => 39 
     ) 

) 

回答

-1

我甲肝e用array_diff_key進行了嘗試,並且它與您的示例代碼一起工作良好。

試試這個代碼:

$arr1 = array 
    (
     array('subscription_plan_id' => '13', 'plan_month' => '1', 'start_date' => '2015-03-13', 'end_date' => '2015-04-12', 's_start_date' => '2015-02-12 09:29:33', 's_subscription_id' => '70'), 
     array('subscription_plan_id' => '2', 'plan_month' => '1', 'start_date' => '2015-03-13', 'end_date' => '2015-04-12', 's_start_date' => '2015-02-12 09:26:50', 's_subscription_id' => '69') 
    ); 

    $arr2 = array 
    (
     array('subscription_plan_id' => '2'), 
     array('subscription_plan_id' => '13'), 
     array('subscription_plan_id' => '36'), 
     array('subscription_plan_id' => '39') 
    ); 

    $diff = array_diff_key($arr2, $arr1); 

    echo "<pre>"; 
     print_r($diff); 
    echo "</pre>"; 
相關問題