This question already has answers here:
Reference — What does this symbol mean in PHP?

(20个答案)


6年前关闭。



if ($form->isValid()) {
// ... perform some action, such as saving the task to the database

$nextAction = $form->get('saveAndAdd')->isClicked()
    ? 'task_new'
    : 'task_success';

return $this->redirect($this->generateUrl($nextAction));
}

这是文档的链接

http://symfony.com/doc/current/book/forms.html

类文档说它返回 bool(boolean) 值。

有什么意义
? 'task_new'
: 'task_sucess';

最佳答案

这就是所谓的“三元”,它很棒:

这是根据条件分配值$nextAction。如果条件为true,则第一部分(在=之后)是条件,类似于if语句,第二部分(在?之后)是分配的值,而最后一部分(在:之后)是在条件为真时分配的值。条件为假。

               //the condition
$nextAction = $form->get('saveAndAdd')->isClicked()
    ? 'task_new' //true value
    : 'task_success'; //false value

这是一种较短的编写方式:
if ($form->get('saveAndAdd')->isClicked()) {
  $nextAction = 'task_new';
}
else {
  $nextAction = 'task_success';
}

因此,这里有一些简单的示例:
$foo = (true) ? 'True value!' : 'False value!';
echo $foo; //'True value!' of course!

$foo = (false) ? 'True value!' : 'False value!';
echo $foo; //'False value!' of course!

关于php - ':'和 '?'在isClicked()symfony中是什么意思,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21435170/

10-09 20:53