За последние 24 часа нас посетили 17702 программиста и 1725 роботов. Сейчас ищут 880 программистов ...

Как реализовать цепочку or и and с неизвестной длиной?

Тема в разделе "PHP для новичков", создана пользователем Sigizmund, 3 дек 2018.

  1. Sigizmund

    Sigizmund Активный пользователь

    С нами с:
    14 июн 2016
    Сообщения:
    37
    Симпатии:
    2
    Адрес:
    Жопа мира
    Здравствуйте. Есть админка, где пользователь нажав кнопку "Добавить пункт" получает инпут в который вводит текст( этот текст нужно сравнить с одним из параметров get-запроса ), потом жмёт кнопку "Добавить условие", в форму добавляются 2 радио-баттона: логическое "И" и логическое "ИЛИ". И цепочка инпутов и условий теоретически бесконечна. Как мне в php-коде все эти условия обработать?
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    А во что это сервер преобразует? В SQL-запрос?
     
  3. Sigizmund

    Sigizmund Активный пользователь

    С нами с:
    14 июн 2016
    Сообщения:
    37
    Симпатии:
    2
    Адрес:
    Жопа мира
    Нет, на сервере нужно на основании этих данных построить цепочку if-else(или сгенерировать один if со всеми этими условиями), и если конечный результат будет true, вывести на фронт-энде определённую информацию.
     
  4. Sigizmund

    Sigizmund Активный пользователь

    С нами с:
    14 июн 2016
    Сообщения:
    37
    Симпатии:
    2
    Адрес:
    Жопа мира
    Что, никто не знает? Мне почему-то казалось это довольно типовой задачей.
     
  5. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @Sigizmund, вы даже нормально не можете описать эту "типовую задачу". Со стороны это выглядит как дичайшая ересь. Но непременно хотите услышать решение.
     
  6. Sigizmund

    Sigizmund Активный пользователь

    С нами с:
    14 июн 2016
    Сообщения:
    37
    Симпатии:
    2
    Адрес:
    Жопа мира
    Напишите, что вам непонятно, я постараюсь объяснить. В админке задаются условия через форму, в php эти условия выполняются. Мне нужен какой-то инструмент для генерации сложных конструкций if-else или switch.
     
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Не нужно генерировать конструкции.
    PHP:
    1. $result = true;
    2.  
    3. foreach ($conditionalDefs as $conditionDef) {
    4.    if ($conditionDef["operation"] === "and") {
    5.        $result = $result && checkCondition($conditionDef);
    6.    } else {
    7.        $result = $result || checkCondition($conditionDef);
    8.    }
    9. }
    Идея ясна? А дальше уже надо продумать ваши детали.
     
  8. Sigizmund

    Sigizmund Активный пользователь

    С нами с:
    14 июн 2016
    Сообщения:
    37
    Симпатии:
    2
    Адрес:
    Жопа мира
    Да, кажется понял. Спасибо, буду думать.