Объединить два условия на php

274
18 июля 2021, 07:30

Есть 2 условия на php. Нужно их объединить. Подскажите как правильно?

if($arItem['ELEMENT_ID'] == $_POST["item_id"] && $arItem['COLOR'] && $arItem['COLOR'] == $_POST["FIELD_COLOR"])
    {
        $basket_num = $key;
        break;
    }
if($arItem['ELEMENT_ID'] == $_POST["item_id"] && $arItem['SIZE'] && $arItem['SIZE'] == $_POST["FIELD_SIZE"])
        {
            $basket_num = $key;
            break;
        }
Answer 1
if($arItem['ELEMENT_ID'] == $_POST["item_id"] && $arItem['COLOR'] && $arItem['COLOR'] == $_POST["FIELD_COLOR"] OR arItem['ELEMENT_ID'] == $_POST["item_id"] && $arItem['SIZE'] && $arItem['SIZE'] == $_POST["FIELD_SIZE"])
{
    $basket_num = $key;
    break;
}
Answer 2
if (
     $arItem['ELEMENT_ID'] == $_POST['item_id'] &&
     ( ($arItem['COLOR'] && $arItem['COLOR'] == $_POST['FIELD_COLOR']) ||
       ($arItem['SIZE']  && $arItem['SIZE']  == $_POST['FIELD_SIZE']) )
   ) {
    $basket_num = $key;
    break;
}

Хотя я бы не полагался на "==" и автоматическое приведение типов, а воспользовался явным приведением типов и "===". И подумал бы над использованием $_POST или $_GET напрямую и возможностью вместо них использовать $_REQUEST - это может дать больше гибкости в формировании запроса без необходимости корректировки кода, который этот запрос обрабатывает.

Update

Как верно заметил в комментариях @And, приведенному коду не хватает проверки и фильтрации входных данных. Но, поскольку этот код явно взят откуда-то из середины (судя по наличию break) алгоритма, я не посчитал нужным включать фильтрацию в код. Потому что делать это стоит до первого использования фильтруемых данных и обладая всей полнотой информации о допустимых значениях, а не "тут играем, тут не играем, тут - рыбу заворачиваем".

READ ALSO
Как отобразить стили на локальном сервере?

Как отобразить стили на локальном сервере?

При переносе сайта, написанный на Опенкарте, на локальный сервер не отображаются стилисайт отображается без стилейКак их правильно подключить...

262
Распарсить JSON и получить значение на PHP

Распарсить JSON и получить значение на PHP

Знаю, что нужно подучить получение массивов на PHP но время поджимаетПодскажите пожалуйста, есть такой JSON, хочу получить значение price по id например:...

296
как корректно получить ответ от xhr

как корректно получить ответ от xhr

отправляю через XMLHttpRequest запрос на другую страницу с обработчиком php, где php скрипт обходит массив и после каждой иттерации выдает текст и в конце...

153