Есть 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;
}
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;
}
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) алгоритма, я не посчитал нужным включать фильтрацию в код. Потому что делать это стоит до первого использования фильтруемых данных и обладая всей полнотой информации о допустимых значениях, а не "тут играем, тут не играем, тут - рыбу заворачиваем".