0

我有一行看起来像这样的代码:

echo "Slope intercept form: $$"."y = ".toFraction($slope)."x + $b"."$$";

但是,我想添加一个 if 语句来检查数字是否为小数以运行函数“toFraction”。如果它不是分数,我希望它只是在没有函数的情况下回显 $slope 变量。换句话说,是这样的:

echo "Slope intercept form: $$"."y = ".if(strpos($number,".") !== false){toFraction($slope)}else{$slope}."x + $b"."$$";

但是,我不确定这是否可能,或者如果是,那么完成它的正确方法是什么?

4

5 回答 5

1

语法错误你可以使用内联 if with ?and :

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 的语法模式如下所示:(condition ?true path :false path)

于 2013-02-23T20:53:25.753 回答
0

使用三元运算符

echo "Slope intercept form: $$"."y = ".((strpos($number,".") !== false) ? toFraction($slope): $slope)."x + $b"."$$";
于 2013-02-23T20:52:01.157 回答
0
echo "Slope intercept form: $$"."y = " . ((strpos($number,".") !== false ? toFraction($slope) : $slope) . "x + $b" . "$$");

使用三元运算符

于 2013-02-23T20:52:27.867 回答
0
echo "Slope intercept form: $$"."y = ";
if(strpos($number,".") !== false) echo toFraction($slope); else echo $slope;
echo "x + $b"."$$";
于 2013-02-23T20:54:18.537 回答
0

请记住两条简单的规则:

  1. 尝试垂直书写,而不是水平书写。长语句要么不可读,要么晦涩难懂。
  2. 三元运算符很丑陋。

所以

if (strpos($number,".") !== false) {
    $slope = toFraction($slope);
}
echo 'Slope intercept form: $$y = '.$slope.'x + '.$b.'$$';
于 2013-02-23T20:58:14.700 回答