Возможный приковать операторы сравнения цепью?

Я был к настоящему времени неспособен найти эту информацию в официальных докторах 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;
}

Это технически работало бы, но не является синтаксической стенографией, данной языком.

4
nl ja de
@raina77ow Как насчет ($b == $c) == $a? Цепочечные операторы сравнения - not' t настолько странный. Питон и Perl 6 и поддерживают его также, и примечание очень распространено в основной математике.
добавлено автор Kevin, источник
Нет, но продвиньтесь, почему can' t вы просто используете $d <$e && $e <$f ? И, самое главное, что нужно сделать, когда они пытаются сравнить результат $b == $c , чтобы $a ?
добавлено автор raina77ow, источник
@Kevin I' m сильно против использования круглой скобки, чтобы увеличиться , означающий оператора. Здесь ($b == $c) == $a будет означать одну вещь - ' сравните результат $b == $c к $a' и $b == $c == $a что-то действительно различное.
добавлено автор raina77ow, источник
Языковая поддержка цепочечных операторов сравнения (x
добавлено автор Lưu Vĩnh Phúc, источник
не попробовали его, но столь же грязный, как PHP, это должно работать
добавлено автор Soundz, источник

2 ответы

Нет, у PHP нет ничего как это.

6
добавлено
@Akam, ну, в общем, тогда, что должно ответ быть, если вопрос ясно спрашивает, возможна ли вещь или нет, и it' s определенно нет?
добавлено автор Dogbert, источник
Извините, но я думаю ответ, который является просто не, должен быть комментарий, его лучший профессионал и профессионал взглядов.
добавлено автор user1646111, источник
@E.T. его отвеченный также выше (второй комментарий под вашим вопросом!)
добавлено автор user1646111, источник
Ну, это отвечает на это. Спасибо!
добавлено автор E.T., источник
Комментарии @Akam не ответы , и таким образом не могут быть приняты. Я принял решение принять этот ответ, вместо того, чтобы копировать два данных ответа в мой собственный ответ, так как этот ответ отвечает на данный вопрос, и другой ответ отвечает на добровольный вопрос.
добавлено автор E.T., источник

Вы могли сделать что-то ужасное как это, когда у вас есть очень большие суммы вещей выдержать сравнение.

<?php
$arr = [1, 2, 3];
$less_than = function($a, $b) {
    return $a < $b;
};
$greater_than = function($a, $b) {
    return $a > $b;
};

function apply_operator($arr, $operator) {
    for ($i = 0; $i < sizeof($arr) - 1; $i++) {
        if (!$operator($arr[$i], $arr[$i + 1])) {
            return false;
        }
    }
    return true;
}

var_dump(apply_operator($arr, $less_than));//true
var_dump(apply_operator($arr, $greater_than));//false

Но поскольку большее/меньшее количество, чем вы может просто сортировать и выдержать сравнение с оригиналом, и для равного можно проверить размер array_unique .

2
добавлено
@E.T. Что вы имеете в виду?
добавлено автор Waleed Khan, источник
@E.T. Это является “синтаксис, чтобы приковать сравнения цепью вместе без явного И-ЛУГА двух различных сравнений”.
добавлено автор Waleed Khan, источник
К сожалению, письмо таможенной функции не является поддержанным языком синтаксисом, it' s просто нормальная функция.
добавлено автор E.T., источник
Вы ответили на вопрос, который никто не спросил.
добавлено автор E.T., источник
I' ve обновил вопрос быть более ясным.
добавлено автор E.T., источник
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp