2010-02-16 2 views
1

эй я получил 9 типа на своем веб-сайте. Я должен установить разные ключевые слова для каждого типа. с этим скриптом;Могу ли я использовать IF несколько раз для переключения между несколькими опциями в PHP?

if ($type = movie) { 
$yazdir = "DVDRip, DVDScr"; 
} 
elseif ($type = game) { 
$yazdir = "Full Version, Patch"; 
} 

Я могу написать слова для двух типов. как правильно это повторить для других типов? (Эхо paramether должно быть $ yazdir)

+5

Обратите внимание, что '=' является оператором присваивания, а не операцией сравнения! Возвращаемое значение оператора присваивания - это новое значение, которое назначается. – Gumbo

ответ

5

Три варианта:

  1. добавить еще ELSEIF
  2. Вы можете использовать switch

http://php.net/manual/en/control-structures.switch.php

3.Use ассоциативных массивов

$types = array( 
     "movies" => "DVDRip, DVDScr", 
     "games" => "Full Version, Patch", 
     ... 
     ); 
+0

im уровень 3/10 по php. можете ли вы дать мне дополнительную информацию об использовании ассоциативных массивов? –

+0

Ассоциативные массивы - это просто массивы с текстом в виде ключей вместо цифр. http://php.net/manual/en/language.types.array.php Итак, вы можете использовать $ types ['movies'], чтобы получить «DVDRip, DVDScr» – Yada

+2

* cough * Google * cough * – Atli

1

Просто продолжайте добавлять elseif.

if ($type == "movie") { 
$yazdir = "DVDRip, DVDScr"; 
} elseif ($type == "game") { 
$yazdir = "Full Version, Patch"; 
} elseif ($type == "book") { 
$yazdir = "Warez book"; 
} 

Или вы можете использовать переключатель, как сказал Яда. Обратите внимание, что вы должны использовать break, иначе он провалится.

+0

Благодарим вас за ответ. чтобы усердно учиться, я попытаюсь использовать ассоциативные массивы, как сказал Яда. :) –

1

Если вы обнаружите, что делаете это много раз, то проблема лучше решать ассоциативным массивом, который в вашем случае будет отображать ключи $ type в значения $ yazdir.

Смежные вопросы