Это правильный способ организовать равное утверждение? - PullRequest
1 голос
/ 19 июня 2011

Это правильный формат? Когда я пытаюсь использовать его, он дает мне пустую страницу без сообщения об ошибке.

$type = $row['page_type'];

$art = "Article";
$vid = "Video";
$pho = "Photo";
$link = "Link";

if ( $type === $art ) {
  $page = "art.php";
} elseIF ($type === $vid) {
  $page = "vid.php";
} elseIF ($type === $pho) {
  $page = "photo.php";
} else { 
  } elseIF ($type === $link) {
    $page = "link.php";
  } else { 
    echo("Error");
  }

1 Ответ

6 голосов
/ 19 июня 2011

У вас есть дополнительные }else{

if ( $type === $art ) {
      $page = "art.php";
}elseif($type === $vid) {
      $page = "vid.php";
}elseif($type === $pho) {
      $page = "photo.php";
// This should not be here --> }else{ 
}elseif($type === $link) {
      $page = "link.php";
}else{ 
      echo("Error");
}

EDIT:

Вы также можете использовать хеш для этого:

$h = array("Article"=>"article.php", "Video"=>"vid.php", ...);
if(array_key_exists($type, $h)){
    $page = $h[$type];
}else{
    echo "Error";
}
...