0

次のようなコード行があります。

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

ただし、関数「toFraction」を実行するために、数値が小数かどうかを確認するifステートメントを追加したいと考えています。分数でない場合は、関数なしで $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"."$$";

インライン if の構文パターンは次のようになります。(condition ?true path :false path)

于 2013-02-23T20:53:25.753 に答える
0

2 つの簡単なルールを覚えておいてください。

  1. 横書きではなく、縦書きにしてみてください。長いステートメントは判読できず、あいまいです。
  2. 三項演算子は醜いです。

それで

if (strpos($number,".") !== false) {
    $slope = toFraction($slope);
}
echo 'Slope intercept form: $$y = '.$slope.'x + '.$b.'$$';
于 2013-02-23T20:58:14.700 に答える
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

三項演算子を使用する

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 に答える