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个判断能写到一起去吗 展开
{
$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个判断能写到一起去吗 展开
4个回答
展开全部
<?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时的值"
?>
展开全部
$controller_name = isset($_GET['controller']) ? $_GET['controller'] : "index";
//三目表达式,问号前的条件成立则其值为问号后的值否则为冒号后的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
条件?(1):(2) 这是一个三元表达式 ,为真返回1,为假返回 2
可以连用
例如这样 :条件1?1:(条件2?2:(条件3?3:4))
条件1为假就判断条件2是否为真,条件二为假就判断条件3是否为真,否则返回
条件1 为真 1
条件2 为真 2
条件3 为真 3
都是假 4
可以连用
例如这样 :条件1?1:(条件2?2:(条件3?3:4))
条件1为假就判断条件2是否为真,条件二为假就判断条件3是否为真,否则返回
条件1 为真 1
条件2 为真 2
条件3 为真 3
都是假 4
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if(!isset($_GET['action']) && !isset($_GET['controller'])) {
...
} else if(isset($_GET['controller'])) {
...
} else if(isset($_GET['action'])) {
...
} else {
...
}
...
} else if(isset($_GET['controller'])) {
...
} else if(isset($_GET['action'])) {
...
} else {
...
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |