Несколько команд case или switch в php? - PullRequest
1 голос
/ 02 июня 2010

Добрый день,

Я пытаюсь присвоить списку некоторые переменные, которые имеют основную категорию и подкатегорию. Это прекрасно работает для большинства переменных, однако в каждой подкатегории есть некоторые поля, которые являются другими.

т.е. Главная категория 1 имеет базу данных подкатегории, разработки и др. Основная категория 2 имеет подкатегорию: электронная почта, интернет и др. Основная категория 3 имеет подкатегорию графики и др.

Итак, мое первое утверждение case выглядит следующим образом, и оно прекрасно работает.

switch ($main_cat)
 {
    case "Main Category 1":
      $main="79";
        break;
    case "Main Category 2":
      $main="83";
        break;
    case "Main Category 3":
      $main="87";
        break;
}

Однако я изо всех сил пытаюсь справиться с другими.

Это останавливает загрузку всей страницы без сообщения об ошибке

switch ($second_cat)
 {
    case "Database":
      $second="145";
        break;
    case "Development":
      $second="146";
        break;
    case "Other":
      if ($main_cat) == 'Main Category 1'  { $second="147";}
       break;
}

Это вообще не работает, секунда не изменяется.

switch ($second_cat)
 {
    case "Database":
      $second="145";
        break;
    case "Development":
      $second="146";
        break;
    case "Other":
switch ($main_cat)
{
case "Main Category 1":
      $second="147";
        break;
}
}

1 Ответ

2 голосов
/ 02 июня 2010

Плохо сформированный оператор if:

if ($main_cat) == 'Main Category 1'  { $second="147";}

должно быть:

if ($main_cat == 'Main Category 1')  { $second="147";}

Кроме того, вы должны поставить error_reporting(E_ALL); вверху вашего скрипта для целей отладки.

...