你的 getvalue() 函数在哪定义的?

解决方案 »

  1.   

    function getvalue($data=array(),$pos){
        if(!$pos)
            return null;
        $nav = explode('.',$pos);
        unset($nav[0]);
        $value = $data;
        foreach($nav as $v){
            $value = $value[$v];
        }
        return $value;
    }
    这个是定义吗? 不是很懂,楼上的大哥帮忙看下!
      

  2.   

                    $now = time();
                    if(!$content)
                        $content='';
                    //判断重复,先判断地址
                    $check=mysql_query("select id,end_time from `fanwe_goods` where url='$url'");
                    $n= @mysql_num_rows($check);
                    if($n>0){
                        $rs3 = mysql_fetch_assoc($check);
                        //再判断结束时间,更新商品信息
                        if($endTime != $rs3['end_time']){
                            $id = $rs3['id'];
                            //这里只更新部分字段
                            @mysql_query("update `fanwe_goods` set name='$name',cate_id='$cate_id',end_time='$endTime',bought='$bought' where id='$id'");
                            @mysql_query("update `fanwe_goods_key` set cate_id='$cate_id',end_time='$endTime' where id='$id'");
                            @mysql_query("update `fanwe_goods_now` set name='$name',cate_id='$cate_id',end_time='$endTime',bought='$bought' where id='$id'");
                            @mysql_query("update `fanwe_goods_now_key` set cate_id='$cate_id',end_time='$endTime' where id='$id'");
                            @mysql_query("update `fanwe_goods_area` set area='$parent_area' where id='$id'");
                            @mysql_query("update `fanwe_suppliers` set area='$parent_area' name='$parent_name',address='$parent_addr',map_address='$parent_addr',longitude='$parent_lon',latitude='$parent_lat',tel='$parent_tel' where id='$id'");
                        }
                    }else{
                        //添加
                        $insert="insert into `fanwe_goods`
                                (site_id,site_name,name,city,cate_id,url,shop_price,et_price,begin_time,end_time,brief,sort,small_img,big_img,
                                    add_time,update_time,bought,collect_key,collect_url,collect_name,content) values
                                ('$site_id','$site','$name','$city','$cate_id','$url','$price','$value','$beginTime','$endTime','$brief','$sort','$image','$image',
                                    '$now','$now','$bought','$collect_key','$url','$name','$content')";
                        
                        mysql_query($insert);
                        $id = mysql_insert_id();
                        //存其他表
                        if($id){
                            $insert="insert into `fanwe_goods_key`
                                (id,site_id,city,cate_id,sort,r_sort,cr_sort,d_sort,dc_sort,e_sort,ec_sort,end_time) values
                                ('$id','$site_id','$city','$cate_id','$sort',0,0,0,0,0,0,'$endTime')";
                            @mysql_query($insert);
                            
                            $insert="insert into `fanwe_goods_now`
                                (id,site_id,site_name,name,city,cate_id,url,shop_price,et_price,begin_time,end_time,brief,sort,small_img,big_img,
                                    add_time,bought) values
                                ('$id','$site_id','$site','$name','$city','$cate_id','$url','$price','$value','$beginTime','$endTime','$brief','$sort','$image',
                                    '$image','$now','$bought')";
                            @mysql_query($insert);
                            
                            $insert="insert into `fanwe_goods_now_key`
                                (id,site_id,city,cate_id,sort,r_sort,cr_sort,d_sort,dc_sort,e_sort,ec_sort,end_time) values
                                ('$id','$site_id','$city','$cate_id','$sort',0,0,0,0,0,0,'$endTime')";
                            @mysql_query($insert);                        $insert="insert into `fanwe_goods_area` (goods_id,city,area,end_time) values ('$id','$city','$parent_area','$endTime')";
                            @mysql_query($insert);                        $insert="insert into `fanwe_suppliers` (id,goods_id,area,name,address,map_address,longitude,latitude,tel,end_time) values ('$id','$id','$parent_area','$parent_name','$parent_addr','$parent_addr','$parent_lon','$parent_lat','$parent_tel','$endTime')";
                            @mysql_query($insert);
                            
                            $content = segmentToUnicode($name);
                            
                            $insert="insert into `fanwe_goods_match` (id,content) values ('$id','$content')";
                            @mysql_query($insert);
                            
                            $insert="insert into `fanwe_goods_now_match` (id,content) values ('$id','$content')";
                            @mysql_query($insert);
                        }
                    }
                    
                }
                mklog($logfile,$site.' 采集成功');
            }else{
                mklog($logfile,$site.' api解析错误: '.$url);
            }
        }else{
            mklog($logfile,$site.' api读取失败: '.$url);
        }
    }mysql_close($conn);
    mklog($logfile,'本次采集结束');function get_object_vars_final($obj){
        if(is_object($obj)){
            $obj=get_object_vars($obj);
        }
        if(is_array($obj)){
            foreach ($obj as $key=>$value){
                $obj[$key]=get_object_vars_final($value);
            }
        }
        return $obj;
    }function getvalue($data=array(),$pos){
        if(!$pos)
            return null;
        $nav = explode('.',$pos);
        unset($nav[0]);
        $value = $data;
        foreach($nav as $v){
            $value = $value[$v];
        }
        return $value;
    }function getcate($cats=array(),$name){
        foreach($cats as $k=>$v){
            $keys=explode(',',$v);
            foreach($keys as $key){
                if(@strpos($name, $key))
                    return $k;
            }
        }
        return $k;
    }function mklog($fname,$str){
        $fp = fopen($fname, 'a+');
        $time = date('m-d H:i');
        fwrite($fp,$time." -> ".$str."\n");
        fclose($fp);
    }function segmentToUnicode($str,$pre = '')
    {
        $arr = array();
        $str_len = mb_strlen($str,'UTF-8');
        for($i = 0;$i < $str_len;$i++)
        {
            $s = mb_substr($str,$i,1,'UTF-8');
            if($s != ' ' && $s != ' ')
            {
                $arr[] = $pre.'ux'.utf8ToUnicode($s);
            }
        }
        $arr = array_unique($arr);
        return implode(' ',$arr);
    }function utf8ToUnicode($char)
    {
        switch(strlen($char))
        {
            case 1:
                return ord($char);
            case 2:
                $n = (ord($char[0]) & 0x3f) << 6;
                $n += ord($char[1]) & 0x3f;
                return $n;
            case 3:
                $n = (ord($char[0]) & 0x1f) << 12;
                $n += (ord($char[1]) & 0x3f) << 6;
                $n += ord($char[2]) & 0x3f;
                return $n;
            case 4:
                $n = (ord($char[0]) & 0x0f) << 18;
                $n += (ord($char[1]) & 0x3f) << 12;
                $n += (ord($char[2]) & 0x3f) << 6;
                $n += ord($char[3]) & 0x3f;
                return $n;
        }
    }
    ?>
    这是下半部分代码,2楼大哥帮忙看下,谢谢了
      

  3.   

                    $now = time();
                    if(!$content)
                        $content='';
                    //判断重复,先判断地址
                    $check=mysql_query("select id,end_time from `fanwe_goods` where url='$url'");
                    $n= @mysql_num_rows($check);
                    if($n>0){
                        $rs3 = mysql_fetch_assoc($check);
                        //再判断结束时间,更新商品信息
                        if($endTime != $rs3['end_time']){
                            $id = $rs3['id'];
                            //这里只更新部分字段
                            @mysql_query("update `fanwe_goods` set name='$name',cate_id='$cate_id',end_time='$endTime',bought='$bought' where id='$id'");
                            @mysql_query("update `fanwe_goods_key` set cate_id='$cate_id',end_time='$endTime' where id='$id'");
                            @mysql_query("update `fanwe_goods_now` set name='$name',cate_id='$cate_id',end_time='$endTime',bought='$bought' where id='$id'");
                            @mysql_query("update `fanwe_goods_now_key` set cate_id='$cate_id',end_time='$endTime' where id='$id'");
                            @mysql_query("update `fanwe_goods_area` set area='$parent_area' where id='$id'");
                            @mysql_query("update `fanwe_suppliers` set area='$parent_area' name='$parent_name',address='$parent_addr',map_address='$parent_addr',longitude='$parent_lon',latitude='$parent_lat',tel='$parent_tel' where id='$id'");
                        }
                    }else{
                        //添加
                        $insert="insert into `fanwe_goods`
                                (site_id,site_name,name,city,cate_id,url,shop_price,et_price,begin_time,end_time,brief,sort,small_img,big_img,
                                    add_time,update_time,bought,collect_key,collect_url,collect_name,content) values
                                ('$site_id','$site','$name','$city','$cate_id','$url','$price','$value','$beginTime','$endTime','$brief','$sort','$image','$image',
                                    '$now','$now','$bought','$collect_key','$url','$name','$content')";
                        
                        mysql_query($insert);
                        $id = mysql_insert_id();
                        //存其他表
                        if($id){
                            $insert="insert into `fanwe_goods_key`
                                (id,site_id,city,cate_id,sort,r_sort,cr_sort,d_sort,dc_sort,e_sort,ec_sort,end_time) values
                                ('$id','$site_id','$city','$cate_id','$sort',0,0,0,0,0,0,'$endTime')";
                            @mysql_query($insert);
                            
                            $insert="insert into `fanwe_goods_now`
                                (id,site_id,site_name,name,city,cate_id,url,shop_price,et_price,begin_time,end_time,brief,sort,small_img,big_img,
                                    add_time,bought) values
                                ('$id','$site_id','$site','$name','$city','$cate_id','$url','$price','$value','$beginTime','$endTime','$brief','$sort','$image',
                                    '$image','$now','$bought')";
                            @mysql_query($insert);
                            
                            $insert="insert into `fanwe_goods_now_key`
                                (id,site_id,city,cate_id,sort,r_sort,cr_sort,d_sort,dc_sort,e_sort,ec_sort,end_time) values
                                ('$id','$site_id','$city','$cate_id','$sort',0,0,0,0,0,0,'$endTime')";
                            @mysql_query($insert);                        $insert="insert into `fanwe_goods_area` (goods_id,city,area,end_time) values ('$id','$city','$parent_area','$endTime')";
                            @mysql_query($insert);                        $insert="insert into `fanwe_suppliers` (id,goods_id,area,name,address,map_address,longitude,latitude,tel,end_time) values ('$id','$id','$parent_area','$parent_name','$parent_addr','$parent_addr','$parent_lon','$parent_lat','$parent_tel','$endTime')";
                            @mysql_query($insert);
                            
                            $content = segmentToUnicode($name);
                            
                            $insert="insert into `fanwe_goods_match` (id,content) values ('$id','$content')";
                            @mysql_query($insert);
                            
                            $insert="insert into `fanwe_goods_now_match` (id,content) values ('$id','$content')";
                            @mysql_query($insert);
                        }
                    }
                    
                }
                mklog($logfile,$site.' 采集成功');
            }else{
                mklog($logfile,$site.' api解析错误: '.$url);
            }
        }else{
            mklog($logfile,$site.' api读取失败: '.$url);
        }
    }mysql_close($conn);
    mklog($logfile,'本次采集结束');function get_object_vars_final($obj){
        if(is_object($obj)){
            $obj=get_object_vars($obj);
        }
        if(is_array($obj)){
            foreach ($obj as $key=>$value){
                $obj[$key]=get_object_vars_final($value);
            }
        }
        return $obj;
    }function getvalue($data=array(),$pos){
        if(!$pos)
            return null;
        $nav = explode('.',$pos);
        unset($nav[0]);
        $value = $data;
        foreach($nav as $v){
            $value = $value[$v];
        }
        return $value;
    }function getcate($cats=array(),$name){
        foreach($cats as $k=>$v){
            $keys=explode(',',$v);
            foreach($keys as $key){
                if(@strpos($name, $key))
                    return $k;
            }
        }
        return $k;
    }function mklog($fname,$str){
        $fp = fopen($fname, 'a+');
        $time = date('m-d H:i');
        fwrite($fp,$time." -> ".$str."\n");
        fclose($fp);
    }function segmentToUnicode($str,$pre = '')
    {
        $arr = array();
        $str_len = mb_strlen($str,'UTF-8');
        for($i = 0;$i < $str_len;$i++)
        {
            $s = mb_substr($str,$i,1,'UTF-8');
            if($s != ' ' && $s != ' ')
            {
                $arr[] = $pre.'ux'.utf8ToUnicode($s);
            }
        }
        $arr = array_unique($arr);
        return implode(' ',$arr);
    }function utf8ToUnicode($char)
    {
        switch(strlen($char))
        {
            case 1:
                return ord($char);
            case 2:
                $n = (ord($char[0]) & 0x3f) << 6;
                $n += ord($char[1]) & 0x3f;
                return $n;
            case 3:
                $n = (ord($char[0]) & 0x1f) << 12;
                $n += (ord($char[1]) & 0x3f) << 6;
                $n += ord($char[2]) & 0x3f;
                return $n;
            case 4:
                $n = (ord($char[0]) & 0x0f) << 18;
                $n += (ord($char[1]) & 0x3f) << 12;
                $n += (ord($char[2]) & 0x3f) << 6;
                $n += ord($char[3]) & 0x3f;
                return $n;
        }
    }
    ?>这个是下半部分代码,2楼的大哥帮忙看下,谢谢了
      

  4.   

    在红色部分加上以下代码,贴出结果。
    var_dump($rules['group_shop_name_api']);
    var_dump($rules['group_shop_addr_api']);
    var_dump($rules['group_shop_tel_api']);
    var_dump($rules['group_shop_lon_api']);
    var_dump($rules['group_shop_lat_api']);
    echo "\n";