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

htl258_Tony 福建钧石能源有限公司 CTO  2014-12-30 04:12:45
	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('/<tr>([\s\S]*?)<\/tr>/i',$content,$pregArray);
if(count($pregArray)){
foreach($pregArray[0] as $value){
preg_match_all('/<td([\s\S]*?)<\/td>/i',$value,$v);
$ipVal = $this->strSub($v[0][3],'fa">','</td>');
$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">','</td>'));
$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 的数据,如何把这两组数据并集起来,谢谢!
...全文
85 点赞 收藏 3
写回复
3 条回复
htl258_Tony 2014年12月31日
我先试试,多谢两位。
回复 点赞
xuzuning 2014年12月30日
两段的数据都写到 $array 中了,本来就是在一起的 只不过第二段的可能会覆盖第一段的
回复 点赞
傲雪星枫 2014年12月30日

<?php
                                        //  $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
?>
回复 点赞
发动态
发帖子
基础编程
创建于2007-09-28

9733

社区成员

14.0w+

社区内容

从PHP安装配置,PHP入门,PHP基础到PHP应用
社区公告
暂无公告