我试图使用PHP来识别变量$category,并将其中文名称回显到输入文本区域的值中。
<input type="text" value="<?php ...code...?>"/> 如果我使用三元操作符,它看起来就像If-Else语句一样疯狂.$category变量重复多次。
echo (($category == "vegetable") ? "蔬菜" :
(($category == "fruit") ? "水果" :
(($category == "meat") ? "肉類" :
(($category == "seafood") ? "海鮮" :
(($category == "junkFood") ? "零食" : "")))));但是,如果我使用开关语句,它会使我的代码太长.
switch ($category){
case "vegetable":
echo "蔬菜";
break;
case "fruit":
echo "水果";
break;
case "meat":
echo "肉類";
break;
case "seafood":
echo "海鮮";
break;
case "junkFood":
echo "零食";
}是否还有其他三值操作符用于switch语句,以使我的代码更清晰?
或者有什么更好的方法来修改我的代码?
发布于 2017-06-30 05:56:24
您可以使用一个简单的关联数组:
$your_food = ["vegetable"=>"蔬菜", "fruit"=>"水果","meat"=>"肉類"...];
echo $your_food[$category];发布于 2017-06-30 05:51:18
您可以使用像array('junkFood' => "零食", ...)这样的数组来使它看起来更干净。
例如:
$array = ['junkFood' => "零食", 'junkFood2' => "零食"];
echo $array['junkFood'];发布于 2017-06-30 05:53:32
您可以使用一个返回值的开关来创建一个函数:
<input type="text" value="<?php echo translate($category);?>"/>
<?php
function translate($category) {
switch ($category){
case "vegetable": return "蔬菜";
case "fruit": return "水果";
// ...
}
}https://stackoverflow.com/questions/44839404
复制相似问题