对于这种情况,我该如何更好地编写IF语句?
我有4个变量来检查它是否为空。
$pdf_locator21e, $pdf_locator21d, $pdf_locator21c, $pdf_locator21b
-
如果
$pdf_locator21e
有值{ $pdf_original = "forms'pdfForms'5pg.pdf"; }
,如果它是NULL,然后移动到步骤2 -
如果
$pdf_locator21d
有值{ $pdf_original = "forms'pdfForms'4pg.pdf"; }
,如果它是NULL,然后移动到步骤3 -
如果
$pdf_locator21c
有值{ $pdf_original = "forms'pdfForms'3pg.pdf"; }
如果它是NULL,那么移动到步骤4 -
如果
$pdf_locator21b
有值,则{ $pdf_original = "forms'pdfForms'2pg.pdf"; }
为NULL
{ $pdf_original = "forms'pdfForms'CMS-485-487-1pg.pdf"; }
我想检查是否$pdf_locator21
e首先有值,然后它将使用5pg.pdf
和STOP检查pdf_locator21d
, pdf_locator21c
和pdf_locator21b
。
如果pdf_locator21e为NULL,那么它将检查pdf_locator21d,以此类推。
您需要使用if
、elseif
和else
。此外,empty
函数允许您检查变量是否为空(或不是null
)。在下面的例子中,我使用!
来做相反的事情(即,如果不是空的)。我选择使用它而不是if($prd_locator21e)
的原因是因为如果它没有设置,那将导致PHP Warning:
错误消息,因为变量没有设置。
您要查找的内容如下:
if ( ! empty($pdf_locator21e) )
$pdf_original = "forms'pdfForms'5pg.pdf";
elseif ( ! empty($pdf_locator21d) )
$pdf_original = "forms'pdfForms'4pg.pdf";
elseif ( ! empty($pdf_locator21c) )
$pdf_original = "forms'pdfForms'3pg.pdf";
elseif ( ! empty($pdf_locator21b) )
$pdf_original = "forms'pdfForms'2pg.pdf";
else
$pdf_original = "forms'pdfForms'CMS-485-487-1pg.pdf"
正如下面的注释所指出的,您可以使用isset
而不是! empty
来检查是否设置了变量。不同之处在于允许值如FALSE
或0
或被认为是空的空字符串。例如:
if ( isset($pdf_locator21e) )
$pdf_original = "forms'pdfForms'5pg.pdf";
我建议你使用if ... elseif....else
if($pdf_locator21e){
$pdf_original = "forms'pdfForms'5pg.pdf";
}elseif($pdf_locator21d){
pdf_original = "forms'pdfForms'4pg.pdf";
...
}else{
$pdf_original = "forms'pdfForms'CMS-485-487-1pg.pdf";
}
您可以为您的任务使用isset()函数。
if (isset($pdf_locator21e) && $pdf_locator21e != "")
$pdf_original = "forms'pdfForms'5pg.pdf";
else
$pdf_original = "forms'pdfForms'CMS-485-487-1pg.pdf"
and so on....
谢谢。