Я до сих пор не смог найти эту информацию в официальной документации по PHP или на этом сайте. Таким образом, это может означать, что я ищу по неправильным условиям или он не поддерживается. Что я ищу? Я опишу это...
Допустим, у меня есть следующие сравнения в PHP:
if (($a == $b) && ($b == $c))
doSomething();
else
doSomethingElse();
if (($d < $e) && ($e < $f))
doSomething();
else
doSomethingElse();
Есть ли в PHP какой-то синтаксис для объединения сравнений без явного И для двух разных сравнений? Например, возможно ли что-то вроде этого:
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;
}
Технически это сработает, но не является синтаксическим сокращением, заданным языком.
$d < $e && $e < $f
? И, самое главное, что делать, когда пытаются сравнить результат$b == $c
с$a
? - person raina77ow   schedule 25.02.2013($b == $c) == $a
будет означать одно — «сравните результат $b == $c с $a», а$b == $c == $a
совсем другое. - person raina77ow   schedule 03.04.2014