foreach($_GET as $k=>$v) {
  switch ($k) {
    case 'dopost':
        # code...
        break;
    case 'edit':
        break;
 
    //后面还有好几个
     
    default:
        # code...
        break;
  }
}

解决方案 »

  1.   

    $key = $_GET['dopost'];
    if($key){
      switch ($key) 
      {
        case 'dopost':
            # code...
            break;
        case 'edit':
            break;
     
        //后面还有好几个
         
        default:
            # code...
            break;
       }
    }
      

  2.   

    谢谢两位,都能实现,但我不是想用foreach() 直接用array_key_exists()应该比用foreach()快吧?
      

  3.   

    我觉得你首先应该仔细看下这个函数array_key_exists()的用法和返回值(TRUE|FALSE)。
    http://cn2.php.net/manual/zh/function.array-key-exists.php其次,foreach不一定就慢。没有绝对快慢,关键取决于用的地方合不合适。$_GET没有多少数据的,因为浏览器的URL地址长度是有限制的。假设你的代码是可以运行的话,在array_key_exists()其实也是个遍历的过程,只不过是预先封装好的而已。在回头说你的需求。完全可以舍弃掉这个函数array_key_exists();如下://url形式:http://localhost?k=dopost
    //url形式:http://localhost?k=edit
    if(isset($_GET['k'])){
        switch ($_GET['k']) 
        {
            case 'dopost':
                # code...
                break;
            case 'edit':
                break;
     
            //后面还有好几个
             
            default:
                # code...
                break;
        }
    }