用explode把每个地址拆成数组
例如:$ip_array=explode('.',$ip);
再用拆好的各类地址判断

解决方案 »

  1.   

    比如地址c判断是否在地址ab中间
    很简单,把地址a,b,c拆分成3个数组
    a[]和b[]和c[]
    然后
    $result=true;
    for($i=0;$i<4;$i++){
      if (c[$i]>b[$i] || c[$i]<a[$i]){
        $result=false;
      }
    }
    if ($result){
      echo "true";
    }else{
      echo "false";
    }
      

  2.   

    不好意思,写错
    $a="211.0.0.0";
    $b="212.0.0.0";
    $c="212.0.2.0";
    $a_arr=explode(".",$a);
    $b_arr=explode(".",$b);
    $c_arr=explode(".",$c);
    $a_all=0;
    $b_all=0;
    $c_all=0;
    for($i=0;$i<4;$i++){
      $a_all=$a_all*256+$a_arr[$i];
      $b_all=$b_all*256+$b_arr[$i];
      $c_all=$c_all*256+$c_arr[$i];
    }$result=true;
    if ($c_all<$a_all || $c_all>$b_all){
    $result=false;
    }
    if ($result){
      echo "true";
    }else{
      echo "false";
    }