PHP, если переменная = 1 новая переменная = что-то еще - PullRequest
0 голосов
/ 15 октября 2011

Я хочу сделать тест в PHP, чтобы увидеть, если form_id = "1", то form_name = "Test form 1", а затем, если form_id = "2", то form_name будет, например, "General Enquiries".

Как это может бытьодин в PHP.

Я вижу, как отобразить результат, но не превращаю его в новую переменную.

Спасибо, Рой

Ответы [ 3 ]

4 голосов
/ 15 октября 2011

Простой оператор if может это сделать:

if($form_id==1)
   $form_name='form 1 result';
elseif($form_id==2)
   $form_name='general inquiries';

Но это делает для многих вложенных операторов, когда вы получаете больше возможных идентификаторов форм, оператором switch эта проблема решается

 switch($form_id){
    case 1:
       $form_name='form 1 name';
       break;
    case 2:
       $form_name='general enquiry';
       break;
    case 3:
       $form_name='an added form';
       break;
    default:
       $form_name='unknown form'
 }

Чтобы узнать больше об операторе switch, перейдите по ссылке здесь

Также имеется краткая запись для условных значений, смотрите ее как оператор if с кратким назначением переменной.

$form_name = ($form_id == 1) ? 'form 1 result' : 'enquiery';

В этом случае PHP сначала оценивает выражение перед знаком вопроса.Если это правда, возвращается значение сразу за вопросительным знаком, в противном случае возвращается значение после двоеточия.Вы также можете вложить эти:

$form_name = ($form_id==1) ? ''form 1 result' : ($form_id==2) ? 'enquiry form' : 'unknown form';

РЕДАКТИРОВАТЬ от немного старше, немного опытнее меня: я обычно избегаю вложения этих выражений.Это часто сложнее понять, чем просто использовать операторы if или помещать «внутреннее» троичное выражение в свою собственную переменную.

0 голосов
/ 15 октября 2011
if ($form_id == 1){ $formname = "Test form 1";} 
if ($form_id == 2){ $formname = "General Enquiries";}

echo $formname;
0 голосов
/ 15 октября 2011

Вы имеете в виду, как это?

if ($form_id == 1)
{
    $form_name = "Test form 1";
}
elseif ($form_id == 2)
{
    $form_name = "General Enquiries";
}
else
{
    // do something
}
...