php如何把多个if判断代码简写的更精炼

if(isset($_GET['controller'])){$controller_name=$_GET['controller'];}else{$controller... if(isset($_GET['controller']))
{
$controller_name = $_GET['controller'];
}
else
{
$controller_name = 'index';
}

if(isset($_GET['action']))
{
$action = $_GET['action'];
}
else
{
$action = 'index';
}

if(!isset($_GET['action']) and !isset($_GET['controller']))
{
$controller_name = 'index';
$action = 'index';
}

上面这段代码,就是找不到控制器指令就使用默认值,但是感觉代码有点臃肿,有办法写的更精炼吗,有一种格式好像是
$controller_name = $_GET['controller'] ? $_GET['controller'] : "index";
不知道可以不可以,但是不太明白 里面的‘?’问号跟 ':' 冒号是什么意思,还有这3个判断能写到一起去吗
展开
 我来答
百度网友0f37e23c0
2013-10-15 · TA获得超过1543个赞
知道大有可为答主
回答量:1070
采纳率:50%
帮助的人:1299万
展开全部
<?php
$controller_name = 'index';
$action = 'index';

if(isset($_GET['controller']))
    $controller_name = $_GET['controller'];
    
if(isset($_GET['action']))
    $action = $_GET['action'];  
    
// 或者

$controller_name = $_GET['controller'] ? $_GET['controller'] : "index"; 
$action = $_GET['action'] ? $_GET['action'] : "index";

 // 注释 $action = $_GET['action'] ? $_GET['action'] : "index"; 意思是: 如果$_GET['action'] 不为空或者 isset($_GET['action']) 的话,那么$action的值就是 问号?后面第一个值,如果不成立的话,就是冒号后面的值index。
 
通常格式:
$变量 = (判断表达式true或者false) ? "表达式为true时的值":"表达式为false时的值"
 
 
?>
百度网友cb4985820
2013-10-15 · TA获得超过562个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:234万
展开全部
 $controller_name = isset($_GET['controller']) ? $_GET['controller'] : "index"; 
//三目表达式,问号前的条件成立则其值为问号后的值否则为冒号后的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百krfh
2013-10-15 · TA获得超过160个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:172万
展开全部
条件?(1):(2) 这是一个三元表达式 ,为真返回1,为假返回 2
可以连用
例如这样 :条件1?1:(条件2?2:(条件3?3:4))
条件1为假就判断条件2是否为真,条件二为假就判断条件3是否为真,否则返回
条件1 为真 1
条件2 为真 2
条件3 为真 3
都是假 4
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
work4brains
2013-10-15 · TA获得超过469个赞
知道答主
回答量:198
采纳率:0%
帮助的人:167万
展开全部
if(!isset($_GET['action']) && !isset($_GET['controller'])) {
...

} else if(isset($_GET['controller'])) {
...
} else if(isset($_GET['action'])) {
...
} else {
...

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式