условие для двух массивов php

manaz
На сайте с 13.12.2013
Offline
61
197

Добрый день господа!

Пытаюсь сделать фильтрацию по города, но срабатывает только одно условие.



print_r($method->citys); //выводит - Москва
print_r($method->block_citys);//выводит - Москва

if($_SESSION['cityname']==$method->citys){
$citys_cond = true;

}
else if ($_SESSION['cityname']==$method->block_citys){
$citys_cond = false;

}

else{
$citys_cond = false;

}

получается есть $method->citys переменные и в них содержится город в котором можно выводить в моем случае это метод доставки, и так же $method->block_citys - здесь переменные городов в котором не доступна доставка.

Все хорошо работает если метод доставки один, если же их два одинаковых то срабатывает только для одного.

Здесь сравнивается есть ли в сессии данный город и не блокирован ли он или доступен для этого или другого метода доставки.

У методов доставки есть свой id но не как не пойму даже если по id делать фильтрацию, то как его верно отфильтровать, чтоб допустим если у id 1 доставка разрешена $citys_cond = true;

то для id 2 если у него стоит $method->block_citys доставка запрещена и условие $citys_cond = false;

Вот набросал не большой пример,но он срабатывает все ровно для одно id



// $method->virtuemart_shipmentmethod_id - здесь два id 1 и 2

foreach ($this->methods as $value)
{

if($value->virtuemart_shipmentmethod_id==$method->virtuemart_shipmentmethod_id){




if($_SESSION['cityname']==$value->block_citys){

$citys_cond = false;
}

else if($_SESSION['cityname']==$value->citys){

$citys_cond = true;
}
}

}
IL
На сайте с 20.04.2007
Offline
435
#1

Выполнится только для одного, у которого:

if($value->virtuemart_shipmentmethod_id==$method->virtuemart_shipmentmethod_id){


---------- Добавлено 10.06.2019 в 13:11 ----------

$_SESSION['cityname']==$method->citys

означает, что в $method->city только один город

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий