我需要在 echo 语句中使用类似 switch 的语句
我找到了一个方法,但我认为这不是最好的方法 当我们想在 echo 中使用 IF 时,写一些像这样的东西:
echo ((condition)?'print this if condition is True':'print this if condition is False');
我们可以将此方法用于类似开关的方式:
echo ((case1)?'case 1 result':((case2)?'case2 result':((case3)?'case3 result':'default result')));
你知道更好的方法吗?
最佳答案
您的示例称为三元运算符,它基本上是 if 语句的缩写。
因此,在您的第二个示例中,您只是在执行大量链式 if then else 的操作
你做这样的事情要好得多
switch ($type)) {
case "txt":
$output = "images/doctypes/icon_txt.gif";
break;
case "doc":
$output = "images/doctypes/icon_doc.gif";
break;
case "docx":
$output = "images/doctypes/icon_doc.gif";
break;
case "pdf":
$output = "images/doctypes/icon_pdf.gif";
break;
case "xls":
$output = "images/doctypes/icon_xls.gif";
break;
case "xlsx":
$output = "images/doctypes/icon_xls.gif";
break;
case "ppt":
$output = "images/doctypes/icon_ppt.gif";
break;
case "pptx":
$output = "images/doctypes/icon_txt.gif";
break;
case "rtf":
$output = "images/doctypes/icon_txt.gif";
break;
case "zip":
$output = "images/doctypes/icon_zip.gif";
break;
case "rar":
$output = "images/doctypes/icon_zip.gif";
break;
case "mdb":
$output = "images/doctypes/mdb.gif";
break;
default:
$output = "images/doctypes/icon_generic.gif";
};
echo $output;
关于php 在 echo 语句中使用 switch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15968176/