PHP如果速记和回显在一行-可能吗?

bnl4lu3b  于 2023-02-28  发布在  PHP
关注(0)|答案(4)|浏览(92)

如果使用速记单行程序,最好的首选书写方式是什么,例如:

expression ? $foo : $bar

情节转折:我需要echo $fooecho $bar。有什么疯狂的把戏吗?:)

w9apscun

w9apscun2#

echo (expression) ? $foo : $bar;
pepwfjgg

pepwfjgg3#

如果第一个表达式的计算结果为TRUE,则三元运算符的计算结果为第二个表达式的值;如果第一个表达式的计算结果为FALSE,则三元运算符的计算结果为第三个表达式的值。对于echo,只需将三元表达式传递给echo语句即可。

echo expression ? $foo : $bar;

阅读PHP手册中关于三元运算符的更多信息,了解更多细节:http://php.net/manual/en/language.operators.comparison.php#language.operators.comparison.ternary

frebpwbc

frebpwbc4#

上面的答案很棒,我喜欢程序员提出这样的问题来创建清晰、简洁和临床的编码实践。对于任何可能会发现这很有用的人:

<?php

// grabbing the value from a function, this is just an example
$value = function_to_return_value(); // returns value || FALSE

// the following structures an output if $value is not FALSE
echo ( !$value ? '' : '<div>'. $value .'</div>' ); 

// the following will echo $value if exists, and nothing if not
echo $value ?: '';
// OR (same thing as)
echo ( $value ?: '' ); 

// or null coalesce operator
echo $value ?? '';
// OR (same thing as)
echo ( $value ?? '' );

?>

相关问题