PHP對比兩個數據中不同的元素

/**
 * 以第一個參數為主進行進行比較
 * **/
function diffArray($arr1 , $arr2 ){
	$arrRet = array();
	#針對關聯數組
    if(is_assoc($arr1) && is_assoc($arr2) ){
	    if (empty($arr1)) {
	    	$arr1 = array();
	    }
	    if (empty($arr2)) {
	    	$arr2 = array();
	    }
	    
	    foreach ($arr1 as $key => $value){
	    	if(!in_array($key, array_keys($arr2))){
	    		if(!array_key_exists($key, $arrRet)){
	    			array_push($arrRet, $key);
	    		}
	    		continue;
	    	}
	    	if($arr1[$key] !== $arr2[$key]){
	    		if(!array_key_exists($key, $arrRet)){
	    			array_push($arrRet, $key);
	    		}
	    	}
	    	#針對元素為數組的情況
	    	if(is_array($value)){
	    		array_merge($arrRet,diffArray($value,$arr2[$key]));
	    	}
	    }
    }elseif(is_assoc($arr1)===false && is_assoc($arr2)===false) {#針對索引數組
    	$arrRet = array_merge(array_diff($arr1, $arr2),array_diff($arr2, $arr1));
    }else {
    	new Exception("數組類型不一致!");
    }
    return $arrRet;
}
/**
 * 判斷是否為關聯數組
 * **/
function is_assoc($arr) {  
	if(!is_array($arr)) return -1;
	return !(array_values($arr) === $arr);
}  
$arr1 = array(
	//"channelNameShort"=> "百度時代公司",
    //"channelName"=>"百度時代責任有限公司",
    "rawUrl"=>"http://www.baidu.com",
    "logoUrl"=> "http://t11.baidu.com/it/u=3114404026,3614407463&fm=58",
    "channelType"=> array(
	    "210010004",
	    "210010007",
	),
	"mobileURL" => "http://www.bb.com",
	"rockArray" => array(
		"A"	=> 1,
		"B"	=> array(1,2,3),
	),
	//"null" => array(),

);
$arr2 = array(
	//"channelNameShort"=> "百度時代公司",
    //"channelName"=>"百度在線公司",
    "rawUrl"=>"http://www.baidu.com",
    "logoUrl"=> "http://t11.baidu.com/it/u=3114404026,3614407463&fm=58",
	"mobileURL" => "",
	"rockArray" => array(
		"A"	=> 1,
		"B"	=> 2,
	),
	"channelType"=> array(
	    "210010004",
	    "210010017",
	),
	"null" => array(),
);

/*$arr3 = array(
	1,2,3,4
);
var_dump(is_assoc($arr1))*/

/*$arr1 = array(1,3,5,7,9);
$arr2 = array(1,2,5,6,9);*/

var_dump(diffArray($arr1, $arr2));
var_dump(array_unique(array_merge(diffArray($arr1, $arr2),diffArray($arr2, $arr1))));

分享名稱:PHP對比兩個數據中不同的元素
當前地址:http://m.kartarina.com/article30/jedopo.html

成都網站建設公司_創新互聯,為您提供微信公眾號服務器托管響應式網站移動網站建設App開發外貿網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發
主站蜘蛛池模板: 国产精品三级在线观看无码| 无码精品人妻一区二区三区影院 | 国产丝袜无码一区二区视频| 丰满少妇被猛烈进入无码| 永久免费av无码网站大全| 国产精品无码久久久久久| 午夜无码性爽快影院6080| 亚洲av无码一区二区乱子伦as| 亚洲午夜无码久久| 无码一区二区三区中文字幕| 无码人妻精品一区二区蜜桃AV| 久久人妻av无码中文专区| 免费无遮挡无码永久在线观看视频 | 中文字幕乱码人妻无码久久| 人妻无码久久精品人妻| 亚洲va无码手机在线电影| 精品久久久无码人妻字幂 | 日韩久久无码免费毛片软件| 人妻丝袜中文无码av影音先锋专区| 少妇无码?V无码专区在线观看| 91无码人妻精品一区二区三区L| 久久99久久无码毛片一区二区| 色综合色国产热无码一| 亚洲国产AV无码一区二区三区 | 亚洲va中文字幕无码久久| 亚洲精品国产日韩无码AV永久免费网 | 亚洲中文字幕无码一区二区三区| 免费无码A片一区二三区| 精品深夜AV无码一区二区| 日韩精品真人荷官无码| 亚洲AV综合色区无码一区| 国产V片在线播放免费无码| 五十路熟妇高熟无码视频 | 一夲道无码人妻精品一区二区| 无码乱码观看精品久久| 无码人妻精品一区二区蜜桃百度 | 伊人久久精品无码av一区| 少妇性饥渴无码A区免费| 成人免费无码H在线观看不卡| 东京热加勒比无码视频| 久久综合一区二区无码|