$specify_step = ($_GET['specify_step']) ? $_GET['specify_step'] : getNextStep($returnId,$type);
鉴于上述陈述,有没有办法简化这个if语句,以便我不必多次说$ _GET ['specified_step']?
在我访问GET或COOKIES等的情况下,它似乎总是多余的,而且需要“更多的”。
答案 0 :(得分:2)
我认为它没有那么紧凑。我唯一的想法就是制作一个临时变量来保持$_GET['specify_step']
,但这似乎不会更短。
答案 1 :(得分:1)
$specify_step = ($_GET['specify_step']) ?: getNextStep($returnId,$type);
对我来说,我必须仔细查看它...... according to php.net,它适用于PHP 5.3。如果你使用的是5.3,那么你很幸运。
答案 2 :(得分:0)
正如我在对您的问题的评论中提到的,我不了解PHP。
检查这是否有效。在大多数语言中,如果第一部分为真,则不会调用函数getNextStep
。
$specify_step = ($_GET['specify_step']) || getNextStep($returnId,$type);
答案 3 :(得分:0)
会有这种替代的布尔评估方法,但它只是表明你必须复制某些东西:
$specify_step = $_GET['specify_step']
or
$specify_step = getNextStep($returnId,$type);
(也可以没有装饰性的换行符。)
使用PHP 5.3,可能当然使用?:
快捷方式。如果可以的话。
就个人而言,我个人可以替换$_GET->default('specify_step', 123)
。