我想在PHP中做一个测试,看看如果form_id = "1",那么form_name = "Test form 1",然后如果form_id = "2",那么form_name将是"General Enquiries",例如。这怎么可能是一个PHP。我可以看到如何回显一个结果,但不把它变成一个新的变量。谢谢罗伊
form_id = "1"
form_name = "Test form 1"
form_id = "2"
form_name
"General Enquiries"
dhxwm5r41#
一个简单的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语句的详细信息,请转到here对于条件值也有一个简短的表示法,可以把它看作是一个带有变量赋值的if语句的简短形式。
$form_name = ($form_id == 1) ? 'form 1 result' : 'enquiry';
在这种情况下,PHP首先计算问号前面的表达式。如果为真,则返回问号后面的值,否则返回冒号后面的值。
$form_name = ($form_id==1) ? ''form 1 result' : ($form_id==2) ? 'enquiry form' : 'unknown form';
编辑从一个稍微年长,稍微更有经验的我:我通常会避免嵌套这些表达式,因为这通常比使用if语句或将“内部”三元表达式放入自己的变量更难理解。
4ktjp1zp2#
你是说像这样?
if ($form_id == 1) { $form_name = "Test form 1"; } elseif ($form_id == 2) { $form_name = "General Enquiries"; } else { // do something }
zwghvu4y3#
if ($form_id == 1){ $formname = "Test form 1";} if ($form_id == 2){ $formname = "General Enquiries";} echo $formname;
3条答案
按热度按时间dhxwm5r41#
一个简单的if语句就可以做到这一点:
但是当你得到更多可能的表单id时,这会产生很多嵌套语句,switch语句解决了这个问题
要了解有关switch语句的详细信息,请转到here
对于条件值也有一个简短的表示法,可以把它看作是一个带有变量赋值的if语句的简短形式。
在这种情况下,PHP首先计算问号前面的表达式。如果为真,则返回问号后面的值,否则返回冒号后面的值。
编辑从一个稍微年长,稍微更有经验的我:我通常会避免嵌套这些表达式,因为这通常比使用if语句或将“内部”三元表达式放入自己的变量更难理解。
4ktjp1zp2#
你是说像这样?
zwghvu4y3#