比较两个数组 - 返回不匹配的数组项目
问题描述:
我有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
不是在$ ARR1存在,那么插入database.if存在,则没有插入
我无法理解,我试图用这个代码,但是不行
foreach($arr1 as $k=>$v){
$dif = abs($arr1[$k] - $arr2[$k]);
if($dif) return false else return true;
}
答
您已经标记了的问题作为laravel
,这是关于插入数据库,所以也假设Eqloeunt。
您可以利用以下雄辩功能:
$model = App\YourModel::firstOrCreate($arr2);
从而节省与阵列直接搞乱。
寻找array_diff函数? http://php.net/manual/en/function.array-diff.php – Kaylined
你的代码根本不处理数组。它当然甚至不会尝试在'arr2'中找到不在'arr1'中的项目。 – John3136