搜索

首页  >  问答  >  正文

请大神帮帮我,这段PHP代码怎么改,一直匹配不到

访问者的地理位置设置成china beijing chaoyang就能匹配到 设置能china zhejiang hangzhou就不行

<?php
     // 预先设置好的特殊地理位置
    $activityName = array(
        array('china','beijing','chaoyang'),
		array('china','zhejiang','hangzhou'),
				        // ...可以添加若干地理位置
    );
    // 预先设置好的特殊地理位置
   
   //访问者的地理位置
   $country="china";
   $province="zhejiang";
   $city="hangzhou";
   
   $position = str_replace(' ', '', strtolower($country.'+'.$province.'+'.$city));
   //访问者的地理位置
	
	function checkActivity($actName,$position) {
        
        $pregmsg = explode('+',$position);
        
        foreach($actName as &$value) {
            for($i=0;$i<3;$i++) {
                if($value[$i]==$pregmsg[$i]) {
                    if($i==0) {
                         $value['ispregco'] = true;
                    }
                    if($i==1) {
                        $value['ispregpr'] = true;
                    }
                    if($i==2) {
                        $value['ispregci'] = true;
                    }
                }
            }
        }
        foreach ($actName as $value) {
            if($value['ispregco'] && $value['ispregpr'] && $value['ispregci']) {
                echo'匹配到你在特殊的地理位置里';
            }
			else{echo '你是普通访问者';
			}
		}
    }
       
	checkActivity($activityName,$position);
	


phpcn_u918phpcn_u9182829 天前2467

全部回复(9)我来回复

  • phpcn_u37517

    phpcn_u375172017-11-22 18:00:51

    什么毛病 ?

    回复
    0
  • 数据分析师

    数据分析师2017-10-01 00:30:46

    请大神帮帮我,这段PHP代码怎么改,一直匹配不到-PHP中文网问答-请大神帮帮我,这段PHP代码怎么改,一直匹配不到-PHP中文网问答

    围观一下哦,学习一下。

    回复
    0
  • PHP中文网

    PHP中文网2017-02-24 13:28:16

    <?php
    function checkActivity($actName,$position){
        $isvip=false;
        foreach($actName as $vo){
            if($vo===$position){
                $isvip=true;
                break;
            }
        }
        if($isvip){
            echo'匹配到你在特殊的地理位置里';
        }else{
            echo '你是普通访问者';
        }
    }
    $activityName = array(
        array('china','beijing','chaoyang'),
        array('china','zhejiang','hangzhou'),
    );
    checkActivity($activityName,array("china","zhejiang","hangzhou"));


    回复
    1
  • phpcn_u918

    还是谢谢你了

    phpcn_u918 · 2017-02-24 18:04:40
  • PHP中文网

    PHP中文网2017-02-24 09:45:38

    <?php
        function checkActivity($actName,$position) {
             
            $pregmsg = explode('+',$position);
             
            foreach($actName as &$value) {
                for($i=0;$i<3;$i++) {
                    if($value[$i]==$pregmsg[$i]) {
                        if($i==0) {
                             $value['ispregco'] = true;
                        }
                        if($i==1) {
                            $value['ispregpr'] = true;
                        }
                        if($i==2) {
                            $value['ispregci'] = true;
                        }
                    }
                }
            }
            foreach ($actName as $value2) {
                if($value2['ispregco'] && $value2['ispregpr'] && $value2['ispregci']) {
                    echo'匹配到你在特殊的地理位置里';
                }
                else{echo '你是普通访问者';
                }
            }
        }
         // 预先设置好的特殊地理位置
        $activityName = array(
            array('china','beijing','chaoyang'),
            array('china','zhejiang','hangzhou'),
                            // ...可以添加若干地理位置
        );
        // 预先设置好的特殊地理位置
         //访问者的地理位置
           $country="china";
           $province="zhejiang";
           $city="hangzhou";
           $position = str_replace(' ', '', strtolower($country.'+'.$province.'+'.$city));
            //访问者的地理位置 
        checkActivity($activityName,$position);


    回复
    1
  • phpcn_u918

    大神你好经过测试,仍然匹配不到呀

    phpcn_u918 · 2017-02-24 11:50:14
  • 取消回复