检查一下,如果id3和id4不为空,才再后面追加.

解决方案 »

  1.   

    $arr = explode("?",$url);
    $var = $arr[1];
    $ids = explode("&",$var);
    $num_of_id = count($ids);假设你的URL是比较规则的,通过两次分割字符串可以得到ID的个数,你的问题就应该能解决了吧
      

  2.   

    $id1=$_GET[id1];
    $id2=$_GET[id2];
    $id3=$_GET[id3];
    $id4=$_GET[id4];if ($id1){
    $value = "id1=$id1"
    }
    if ($id2){
    $value = "&id2=$id2"
    }
    if ($id3){
    $value = "&id3=$id3"
    }
    if ($id4){
    $value = "&id4=$id4"
    }if ($value){
    $url="http://www.abc.com/abc.asp?$value"
    }
      

  3.   

    自己琢磨了一下,
    <?php
    $old_url = $_SERVER["REQUEST_URI"];
    $check = strpos($old_url, 'id3');
    if($check !== false)
    {
    $new_url="http://www.abc.com/abc.asp?id1=$_GET[id1]&id2=$_GET[id2]&id3=$_GET[id3]&id4=$_GET[id4]";
    }
    else
    {
    $new_url="http://www.abc.com/abc.asp?id1=$_GET[id1]&id2=$_GET[id2]";
    }
    echo $new_url;
    ?> 
      

  4.   

    用这个parse_url函数来检查要好一些.
    你上面的,如果值为id3,是不是也会有问题呢.
    呵呵.