繁体   English   中英

PHP 如果变量 = 1 新变量 = 别的​​东西

[英]PHP if variable = 1 new variable = something else

我想在 PHP 中进行测试以查看form_id = "1"然后form_name = "Test form 1"然后如果form_id = "2" form_name将是"General Enquiries"

这怎么可能是 PHP 中的一个。

我可以看到如何回显结果但不能将其转换为新变量。

谢谢罗伊

一个简单的 if 语句就可以做到:

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

但是当您获得更多可能的表单 ID 时,这会产生许多嵌套语句,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 语句或将“内部”三元表达式放入其自己的变量中更难理解。

你的意思是这样?

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

echo $formname;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM