PHP-如果一直只做第一个条件,为什么?

PHP-如果一直只做第一个条件,为什么?,php,arrays,laravel,if-statement,Php,Arrays,Laravel,If Statement,为什么IF(包含else IF和else的最后一个IF)始终只执行第一个条件,而只执行第一部分($filtry_1value[$key]='min_cena'),即使该条件不应为真。我有另一个解决方案(不太动态),如果我不解决这个问题,但我想知道,为什么它不起作用。。。我认为这将是一件小事,但我看不到 附言:我和拉威尔一起工作 $filtry_1value = ['stat', 'lokalita', 'patro', 'min_cena', 'max_cena', 'min_uzitna_pl

为什么IF(包含else IF和else的最后一个IF)始终只执行第一个条件,而只执行第一部分($filtry_1value[$key]='min_cena'),即使该条件不应为真。我有另一个解决方案(不太动态),如果我不解决这个问题,但我想知道,为什么它不起作用。。。我认为这将是一件小事,但我看不到

附言:我和拉威尔一起工作

$filtry_1value = ['stat', 'lokalita', 'patro', 'min_cena', 'max_cena', 'min_uzitna_plocha', 'max_uzitna_plocha'];

  foreach ($filtry_1value as $key => $filtr_1value) {
  $filtr_1value = \Request::has($filtr_1value) ? \Request::get($filtr_1value) : null;
    if(!empty($filtr_1value)){
      if ($filtry_1value[$key] = 'min_cena' OR $filtry_1value[$key] = 'min_uzitna_plocha') {
        $query->where(substr($filtry_1value[$key], 4),'>=',$filtr_1value);
      }
      elseif ($filtry_1value[$key] = 'max_cena' OR $filtry_1value[$key] = 'max_uzitna_plocha') {
        $query->where(substr($filtry_1value[$key], 4),'<=',$filtr_1value);
      }
      else {
        $query->where($filtry_1value[$key],'=', $filtr_1value);
      }
    }
  }
$filtery\u 1value=['stat'、'lokalita'、'patro'、'min\u cena'、'max\u cena'、'min\u uzitna\u plocha'、'max\u uzitna\u plocha'];
foreach($key=>$filter\u 1value的filter\u 1value){
$filter\u 1value=\Request::has($filter\u 1value)?\Request::get($filter\u 1value):null;
如果(!空($filter_1value)){
如果($filtery\u 1value[$key]='min\u cena'或$filtery\u 1value[$key]='min\u uzitna\u plocha'){
$query->where(substr($filter\u 1value[$key],4),“>=”,$filter\u 1value);
}
elseif($filtery\u 1value[$key]='max\u cena'或$filtery\u 1value[$key]='max\u uzitna\u plocha'){

$query->where(substr($filtery_1value[$key],4),“您需要使用双等号进行比较。
=
没有一个
=

您的
if
应如下所示:-

if ($filtry_1value[$key] == 'min_cena' OR $filtry_1value[$key] == 'min_uzitna_plocha') {
    // ...
} elseif ($filtry_1value[$key] == 'max_cena' OR $filtry_1value[$key] == 'max_uzitna_plocha') {
    // ...
}
可能是-

foreach ($filtry_1value as $key => $filtr_1value) {
  $filtr_1value = \Request::has($filtr_1value) ? \Request::get($filtr_1value) : null;
    if(!empty($filtr_1value)){
      if ($filtry_1value[$key] == 'min_cena' OR $filtry_1value[$key] == 'min_uzitna_plocha') {
        $query->where(substr($filtry_1value[$key], 4),'>=',$filtr_1value);
      }
      elseif ($filtry_1value[$key] == 'max_cena' OR $filtry_1value[$key] == 'max_uzitna_plocha') {
        $query->where(substr($filtry_1value[$key], 4),'<=',$filtr_1value);
      }
      else {
        $query->where($filtry_1value[$key],'=', $filtr_1value);
      }
    }
  }
foreach($filter\u 1value as$key=>$filter\u 1value){
$filter\u 1value=\Request::has($filter\u 1value)?\Request::get($filter\u 1value):null;
如果(!空($filter_1value)){
如果($filtery\u 1value[$key]=='min\u cena'或$filtery\u 1value[$key]=='min\u uzitna\u plocha'){
$query->where(substr($filter\u 1value[$key],4),“>=”,$filter\u 1value);
}
elseif($filtery\u 1value[$key]='max\u cena'或$filtery\u 1value[$key]=='max\u uzitna\u plocha'){
$query->where(substr($filtery\u 1value[$key],4),'