Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中使用三元运算符(?和:)时允许使用多少条语句?_Php_Ternary Operator - Fatal编程技术网

在PHP中使用三元运算符(?和:)时允许使用多少条语句?

在PHP中使用三元运算符(?和:)时允许使用多少条语句?,php,ternary-operator,Php,Ternary Operator,这个代码 count = $a > $b ? $b : $a; 同: if($a > $b){ count = $b; } else { count = $a; } 如果我想这样做 if($a > $b){ count = $b; result = $b." is less than ".$a; } else { count = $a; } 我应该如何使用三元运算符 count = $a > $b ? $b : $a; result =

这个代码

count = $a > $b ? $b : $a;
同:

if($a > $b){
   count = $b;
} else {
   count = $a;
}
如果我想这样做

if($a > $b){
   count = $b;
   result = $b." is less than ".$a;
} else {
   count = $a;
}
我应该如何使用三元运算符

count = $a > $b ? $b : $a;
result = count == $b ? $b . " is less than " . $a : ""; 

你不能在一行中完成它。抱歉。

你真的不能,这不是三元运算符的重点。你必须做两个陈述,或者写出if-else

$count = $a > $b ? $b : $a;
$a > $b ? result = $b." is less than ".$a : ;

这是我认为有效的PHP。您可能需要一些参数,并且您可能需要在第二行的冒号后面放置一个伪常量-只是一个0,因此PHP有一些事情要做。我不确定,因为我不懂PHP。

实际上,您可以将所有内容放在一行中,但它很难阅读,并且可能不会一直工作

$result = ($a > $b) ? ("$b is less than $a") : ("$a is less than $b");
$count = ($a > $b) ? $b : $a;
为了向您展示此作品:

$a = 7;
$b = 5;

$count = 0;
$result = '';

$count = ($a > $b) ? ((int)$result = $b . ' is less than ' . $a) : $a;

echo $count . '<br />' . $result;
$a=7;
$b=5;
$count=0;
$result='';
$count=($a>$b)?((int)$result=$b.'小于'$a):$a;
回显$count。”
$结果;
但是请不要在任何真正的代码中这样做-这会使你不受任何人的欢迎,因为他们必须与你/在你之后使用相同的代码


如果必须在实际代码中使用三元运算符,请按照其他人的建议执行。

为什么要问如何使代码变得更糟?
让代码完全不可读有什么意义

不要试图在三元运算符中放入许多语句。
不要使用嵌套的三元运算符

您不仅要尽可能快地编写代码,有时还必须阅读它


与其使用这种难看的语法,不如使用公共条件运算符

if语句有什么问题?没有。只允许表达式。BoltClock,没什么,我只想知道做条件语句的其他方法,谢谢大家,。