2017-01-24 17 views
-3

私は以下のように2つの配列を持っています。2つの配列 - 一致しない配列の項目を返します

$ ARR1 =

array:8 [▼ 
    0 => array:18 [▼ 

    "c_id" => 19 
    "datetime" => "2017-01-20 21:48:16" 
    "aparty" => "8801911255104" 
    "bparty" => "8801961185321" 
    "call_duration" => "0" 
    "usage_type" => "SMSMT" 
    "lac" => "532" 
    "cell" => "13174" 
    "imei" => "357328068823480" 
    "imsi" => "470037500180672" 
    "network_type" => "Undefined" 
    ] 
    1 => array:18 [▶] 
    2 => array:18 [▶] 
    3 => array:18 [▶] 
    4 => array:18 [▶] 
    5 => array:18 [▶] 
    6 => array:18 [▶] 
    7 => array:18 [▶] 
] 


$arr2= = [ 
      'c_id' => '1', 
      'datetime' =>'2017-01-20 21:48:16' , 
      'aparty' => '8801911255104', 
      'bparty' =>'8801911255104', 
      'call_duration' => '999', 
      'usage_type' =>'MC', 
      'lac' => '555', 
      'cell' => '99', 
      'imei' => '6y8887766', 
      'imsi' => '6y8887766', 
      'network_type' =>'Undefined' 
    ]; 

今、私は最初の配列と二番目の配列を比較したいです。 $arr2は、私は理解して傾ける

を挿入し、その後は何も存在しない、私はこのコードを使用しようとしているが、あなたが質問をタグ付けしました

foreach($arr1 as $k=>$v){ 
    $dif = abs($arr1[$k] - $arr2[$k]); 
    if($dif) return false else return true; 
} 
+0

array_diff関数をお探しですか? http://php.net/manual/en/function.array-diff.php – Kaylined

+0

あなたのコードは配列をまったく操作しません。確かに 'arr1'の' arr2'でアイテムを見つけようとしません。 – John3136

答えて

0

に動作していないですdatabase.ifに挿入、その後の$ ARR1に存在しない場合は論理がありますlaravelとし、これはデータベースに挿入することであるため、Eqloeuntも仮定します。

次の雄弁機能を活用することができます

$model = App\YourModel::firstOrCreate($arr2); 

直接配列をいじって保存します。

参考:https://laravel.com/docs/master/eloquent#inserts

関連する問題