您好,我写了以下代码,但我有一个小问题。
在我的数据库中,有一个名为gf_gemstone的字段,我写了一个切换脚本(如下所示)
如果返回N/A的字段为empty,我要写的最后一部分。但是无论我做什么,我都不能让它工作。有人能帮上忙吗。
case "gf_gemstone_Amazon1a":
switch ($value) {
case "Agate":
return "agate";
break;
case "Amethyst":
return "amethyst";
break;
case "Aquamarine":
return "aquamarine";
break;
case "Black Diamond":
return "black-diamond";
break;
case "Black Sapphire":
return "sapphire";
break;
case "Blue Diamond":
return "blue-diamond";
break;
case "Blue Sapphire":
return "blue-sapphire";
break;
case "Blue Topaz":
return "blue-topaz";
break;
case "Chalcedony":
return "chalcedony";
break;
case "Citrine":
return "citrine";
break;
case "Cognac Diamond":
return "brown-diamond";
break;
case "Diamond":
return "diamond";
break;
case "Emerald":
return "emerald";
break;
case "Garnet":
return "garnet";
break;
case "Green Amethyst":
return "green-quartz";
break;
case "Green Quartz":
return "green-quartz";
break;
case "Green Sapphire":
return "green-sapphire ";
break;
case "Lemon Quartz":
return "lemon-quartz";
break;
case "Morganite":
return "morganite";
break;
case "Multi Sapphire":
return "sapphire";
break;
case "Onyx":
return "onyx";
break;
case "Opal":
return "opal";
break;
case "Orange Sapphire":
return "sapphire";
break;
case "Peridot":
return "peridot";
break;
case "Pink Sapphire":
return "pink-sapphire";
break;
case "Pink Sapphire":
return "pink-sapphire";
break;
case "Pink Topaz":
return "pink-topaz";
break;
case "Pink Tourmaline":
return "pink-tourmaline";
break;
case "Quartz":
return "quartz";
break;
case "Rose Quartz":
return "rose-quartz";
break;
case "Rhodolite Garnet":
return "rhodolite-garnet";
break;
case "Ruby":
return "ruby";
break;
case "Sapphire":
return "sapphire";
break;
case "Smokey Quartz":
return "smoky-quartz";
break;
case "Spessartite":
return "spessartite-garnet";
break;
case "Tanzanite":
return "tanzanite";
break;
case "Tsavorite":
return "tsavorite";
break;
case "Turquoise":
return "turquoise";
break;
case "White Sapphire":
return "sapphire";
break;
case "Yellow Diamond":
return "yellow-diamond";
break;
case "Yellow Sapphire":
return "sapphire";
break;
case "":
return "N/A";
break;
default: return "";
}
break;发布于 2015-08-19 22:38:15
你可以把它写得更简洁:
$stones = array('Agate' => 'agate', 'Amethyst' => 'amethyst', etc...);
if (in_array($value, array_keys($stones))) {
return $stones[$val];
} else {
return "N/A";
}发布于 2015-08-19 22:38:57
@MarcB的答案更精确,但是,如果你想使用switch ... case,对NULL值使用如下:
case (NULL === $value):
return "N/A";https://stackoverflow.com/questions/32098458
复制相似问题