2012-11-23 4 views
-1

Этот оператор if приводит к сочетанию фиксированных заданий и других результатов, которые не должны возвращаться. Не могу понять, почему что-то настолько простое не работает.если оператор не работает (PHP)

if($item["total_spent"] >= '1000' 
    && ($item["country"] == 'United States' || $item["country"] == 'Canada') 
    && ($item["job_duration"] == '3 to 6 months' || $item["job_duration"] = 'More than 6 months') 
    && ($item["job_engagement"] == 'Full-time - 30+ hrs/week' || $item["job_engagement"] = 'Part-time - 10-30 hrs/week') 
    && ($item["job_type"] == 'Hourly')) 
+0

вы одинарные = в некоторых случаях – sashkello

ответ

1

Может быть, то, что вы имеете в виду это:

if($item["total_spent"] >= '1000' 
     && ($item["country"] == 'United States' || $item["country"] == 'Canada') 
     && ($item["job_duration"] == '3 to 6 months' || $item["job_duration"] == 'More than 6 months') 
     && ($item["job_engagement"] == 'Full-time - 30+ hrs/week' || $item["job_engagement"] == 'Part-time - 10-30 hrs/week') 
     && ($item["job_type"] == 'Hourly')) 

Обратите внимание на использование одного = в некоторых ваши статьи, где

+0

BRAVO сударь, я полностью пропустил те. – Julian

1

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

<?php 
if($item["total_spent"] >= '1000' 
      && ($item["country"] == 'United States' || $item["country"] == 'Canada') 
      && ($item["job_duration"] == '3 to 6 months' || $item["job_duration"] == 'More than 6 months') 
      && ($item["job_engagement"] == 'Full-time - 30+ hrs/week' || $item["job_engagement"] == 'Part-time - 10-30 hrs/week') 
      && ($item["job_type"] == 'Hourly') 
) { 
    // ... 
} 
1
$item["job_engagement"] = 'Part-time - 10-30 hrs/week' 
$item["job_duration"] = 'More than 6 months' 

Эти строки написал, как будто вы присваиваете значения, они должны быть:

$item["job_engagement"] == 'Part-time - 10-30 hrs/week' 
$item["job_duration"] == 'More than 6 months' 
Смежные вопросы