当前位置:Gxlcms > PHP教程 > 代码里面有oneline的数据和twoline的数据,怎么把这两组数据并集起来

代码里面有oneline的数据和twoline的数据,怎么把这两组数据并集起来

时间:2021-07-01 10:21:17 帮助过:3人阅读

代码里面有 oneline 的数据和 twoline 的数据,如何把这两组数据并集起来?
	public function line($config,$qq='',$data=array()){
$array = array();
$line = $config['line'];
$url = trim($config[$line]);
if($line == 'oneline' && $qq != ''){
$content = $this->proGetCont($url.'/index.php?m=account&c=index&a=search&q='.$qq);
preg_match_all('/([\s\S]*?)<\/tr>/i',$content,$pregArray);
if(count($pregArray)){
foreach($pregArray[0] as $value){
preg_match_all('//i',$value,$v);
$ipVal = $this->strSub($v[0][3],'fa">','');
$ipid = M('iplib')->where('ipval = \''.$ipVal.'\'')->find()['id'];
if(!$ipid){
$ipid = M('iplib')->add(array('ipval'=>$ipVal,'namelist'=>'1'));
}
$timsInt = strtotime($this->strSub($v[0][4],'fa">',''));
$boolTure=true;
foreach($data as $d){
if(($d['jbtime'] == $timsInt) && ($ipid == $d['jbip'])){
$boolTure = false;
}
}
if($boolTure || count($data) ==0){
$array[] = array(
'jbip'=>$ipid,
'jbtime'=>$timsInt,
'number'=>$qq,
'class'=>'1',
'type'=>'4',
'whitelist'=>'0'
);
}

}
$rel = M('number')->addAll($array);
}

}

if($line == 'twoline' ){
$number = '';
$class = '1';
if($qq != ''){
if(!is_numeric($qq) || (strlen($qq) < 5) || (strlen($qq) > 13) ){
$this->error('您查询的QQ号格式错误!');
return $data;
}
$content = $this->proGetCont($url.'/form.php','qq='.$qq);
$number = $qq;

}

if($content){

$type = M('type')->select();
$typeArray = array();
foreach($type as $v){
$typeArray[trim($v['name'])] = $v['id'];
}

preg_match_all('/{([\s\S]*?)}/i',$content,$pregArray);
if(count($pregArray)){
foreach($pregArray[0] as $k => $value){
$ipVal = $this->strSub($value,'myip":',',"date');
$ipVal = str_replace('"','',$ipVal);
$ipid = M('iplib')->where('ipval = \''.$ipVal.'\'')->find()['id'];
if(!$ipid){
$ipid = M('iplib')->add(array('ipval'=>$ipVal,'namelist'=>'1'));
}
$timsInt = strtotime($this->strSub($value,'date":"','","typetext'));
$boolTure=true;
foreach($data as $d){
if(($d['jbtime'] == $timsInt) && ($ipid == $d['jbip'])){
$boolTure = false;
}
}
if($boolTure || count($data) ==0){
$array[$k]['jbip'] = $ipid;
$array[$k]['jbtime'] = $timsInt;
if($class == '1'){
$type = trim($this->unicode_decode($this->strSub($value,'typetext":"','","qq1')));
}
if($class == '2'){
$type = trim($this->unicode_decode($this->strSub($value,'typetext":"','","ww1')));
}
$array[$k]['type'] = (array_key_exists($type,$typeArray))?$typeArray[$type]:'其他';
$array[$k]['number'] = $number;
$array[$k]['class'] = $class;
$array[$k]['whitelist'] = '0';
}
}
$rel = M('number')->addAll($array);
}
}
}
}


if(count($array)){
foreach($array as $a){
$data[]=$a;
}
}

return $data;
}

代码里面有 oneline 的数据和 twoline 的数据,如何把这两组数据并集起来,谢谢!
------解决思路----------------------

// $a = 1 2 3 4
$union = // $b = 2 4 5 6
array_merge(
array_intersect($a, $b), // 2 4
array_diff($a, $b), // 1 3
array_diff($b, $a) // 5 6
); // $u = 1 2 3 4 5 6
?>

------解决思路----------------------
两段的数据都写到 $array 中了,本来就是在一起的
只不过第二段的可能会覆盖第一段的

人气教程排行