これまでのところ、公式の PHP ドキュメントやこのサイトでこの情報を見つけることができませんでした。つまり、間違った用語で検索しているか、サポートされていない可能性があります。私は何を探していますか?私はそれを説明します...
PHPで次の比較があるとしましょう:
if (($a == $b) && ($b == $c))
doSomething();
else
doSomethingElse();
if (($d < $e) && ($e < $f))
doSomething();
else
doSomethingElse();
PHP には、2 つの異なる比較の明示的な AND を使用せずに、比較を連鎖させる何らかの構文がありますか? たとえば、次のようなことが可能ですか。
if ($a == $b == $c)
doSomething();
else
doSomethingElse();
if ($d < $e < $f)
doSomething();
else
doSomethingElse();
言語で構文上の省略形を探していることに注意してください。これらの連鎖比較のそれぞれに対して関数を簡単に作成できることはわかっていますが、これは厄介な回避策であり、望ましくありません。例えば:
function chainedGreaterThan($args)
{
for ($i = 0; $i < count($args) - 1; $i++)
if ($args[$i] <= $args[$i + 1])
return false;
return true;
}
これは技術的には機能しますが、言語によって指定された構文上の省略表現ではありません。