当您只需要一个条件的回显时,如何在PHP中编写三元函数?

当您只需要一个条件的回显时,如何在PHP中编写三元函数?,php,Php,我有一些密码 <?php (($f[2] != '') ? $f[2] : implodeList($l[3])); ?> 第二个条件的函数如何输出echo语句,并且如果满足该条件,则无法更改,因此只有第一个版本的代码才能工作 我被困在这个例子里了?我可以用一个标准的IF重写。第二个问题,你能解释为什么他们不能把回声放在三元体内部吗?比如: <?php (($f[2] != '') ? echo $f[2] : implodeList($l[3])); ?> 在过

我有一些密码

<?php (($f[2] != '') ? $f[2] : implodeList($l[3])); ?>
第二个条件的函数如何输出echo语句,并且如果满足该条件,则无法更改,因此只有第一个版本的代码才能工作

我被困在这个例子里了?我可以用一个标准的IF重写。第二个问题,你能解释为什么他们不能把回声放在三元体内部吗?比如:

<?php (($f[2] != '') ? echo $f[2] : implodeList($l[3])); ?>

在过去,我发现这可能很有用。

您可以直接使用而不是,因为与
echo
不同,
print
的行为类似于一个函数,它可以在如下三元表达式中有效使用:

<?php $f[2] != '' ? print($f[2]) : implodeList($l[3]); ?>

您可以直接使用而不是,因为与
echo
不同,
print
的行为类似于一个函数,使得它可以在三元表达式中有效地使用,如下所示:

<?php $f[2] != '' ? print($f[2]) : implodeList($l[3]); ?>


对不真正是表达式的内容使用条件运算符会产生令人困惑的代码。
if
语句有什么问题?那么,
infradeList()
是否回显某个内容并返回某个内容?如果它回显而不是返回,则第二个代码块中的方式似乎可以正常工作。对不真正是表达式的内容使用条件运算符会产生混乱的代码。
if
语句有什么问题?那么,
infradeList()
是否回显某个内容并返回某个内容?如果它是回音而不是返回,那么您在第二个代码块中使用它的方式似乎可以正常工作。