各位看官,下的代码如何写才能正常运行
switch (array_key_exists('dopost',$_GET()))
{
case 'dopost':
# code...
break;
case 'edit':
break;
//后面还有好几个
default:
# code...
break;
}
不要用IF 因为IF太多可读性差一点,速度上也会有点打折(只是听说,水平未到这个高度,无法用代码验证)
------解决方案--------------------
foreach($_GET as $k=>$v) {
switch ($k) {
case 'dopost':
# code...
break;
case 'edit':
break;
//后面还有好几个
default:
# code...
break;
}
}
------解决方案--------------------
我觉得你首先应该仔细看下这个函数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;
}
}