Php 将if语句放在echo中
我有一行代码如下所示:Php 将if语句放在echo中,php,Php,我有一行代码如下所示: echo "Slope intercept form: $$"."y = ".toFraction($slope)."x + $b"."$$"; echo "Slope intercept form: $$"."y = ".if(strpos($number,".") !== false){toFraction($slope)}else{$slope}."x + $b"."$$"; 但是,我想添加一个if语句,检查数字是否为十进制,以运行函数“toFraction”。
echo "Slope intercept form: $$"."y = ".toFraction($slope)."x + $b"."$$";
echo "Slope intercept form: $$"."y = ".if(strpos($number,".") !== false){toFraction($slope)}else{$slope}."x + $b"."$$";
但是,我想添加一个if语句,检查数字是否为十进制,以运行函数“toFraction”。如果它不是一个分数,我希望它只回显$slope变量而不带函数。换句话说,类似这样的事情:
echo "Slope intercept form: $$"."y = ".toFraction($slope)."x + $b"."$$";
echo "Slope intercept form: $$"."y = ".if(strpos($number,".") !== false){toFraction($slope)}else{$slope}."x + $b"."$$";
但是,我甚至不确定这是否可能,或者如果可能,正确的方法是什么?使用
使用语法错误您可以使用带
?
和的内联if:
:
echo "Slope intercept form: $$"."y = ".(strpos($number,".") !== false ? toFraction($slope) : $slope) . "x + $b"."$$";
或者尝试以下语法:
echo "Slope intercept form: $$"."y = ";
if(strpos($number,".") !== false) {
echo toFraction($slope)
} else {
echo $slope;
}
echo "x + $b"."$$";
内联ifs的语法模式如下:
(
条件?
真实路径:
错误路径)
请记住两条简单规则:
不,不可能。语句不能是表达式的一部分(字符串连接)。这里一个可行的替代方法可能是“三元运算符”。它不是echo,而是您正在谈论的字符串。
echo "Slope intercept form: $$"."y = ";
if(strpos($number,".") !== false) echo toFraction($slope); else echo $slope;
echo "x + $b"."$$";
if (strpos($number,".") !== false) {
$slope = toFraction($slope);
}
echo 'Slope intercept form: $$y = '.$slope.'x + '.$b.'$$';