Php SWITCH语句具有相同条件和不同条件的两种情况
嗨,我想知道这是否可以在交换机的情况下完成。下面是我想做的示例代码Php SWITCH语句具有相同条件和不同条件的两种情况,php,switch-statement,Php,Switch Statement,嗨,我想知道这是否可以在交换机的情况下完成。下面是我想做的示例代码 switch($name) case "Dog": $pic = "/images/itscute.jpg"; $info ="four legs"; break; case "Cat": $pic = "/images/cat.jpg"; $info ="four legs"; break; case "bird": $pic = "/images/bird.jpg";
switch($name)
case "Dog":
$pic = "/images/itscute.jpg";
$info ="four legs";
break;
case "Cat":
$pic = "/images/cat.jpg";
$info ="four legs";
break;
case "bird":
$pic = "/images/bird.jpg";
$info = "two legs";
break;
现在您可以看到,dog和cat的$info值相同。
我是否可以像这样为他们两个只制作一个$info
switch($name)
case "Dog":
case "Cat":
$info ="four legs";
break;
case "bird":
$info = "two legs";
break;
如果代码是这样的,我也不知道如何放置$pic
编辑:$picat dog不是“/images/dog.jpg”
EDIT2:添加了更多的案例以使问题更加清晰由于两个案例之间的
$pic
变化取决于$name
的值,因此您可以使用$name
本身:
switch($name) {
case "Dog":
case "Cat":
$pic = "/images/" . strtolower($name) . ".jpg";
$info ="four legs";
break;
}
对于任何包含相同值的变量,为什么要使用开关呢?只需在switch语句之前定义这些变量。仅对包含不同值的变量使用switch语句 编辑 在这种情况下,没有理由不能使用2个switch语句,如下所示:
switch(strtolower($name))
{
case "dog":
$pic = "/images/itscute.jpg";
break;
case "cat":
$pic = "/images/cat.jpg";
break;
case "bird":
$pic = "/images/bird.jpg";
break;
}
switch(strtolower($name))
{
case "dog":
case "cat":
$info = "four legs";
break;
case "bird":
$info = "two legs";
break;
}
我建议您使用strtolower(),如我的示例所示,以避免任何案例问题。您可以根据需要使用任意数量的switch语句。
至于将“dog”转换为“dog's”,只需在变量中添加“'s”,如下所示:
$name=ucwords($name.“'s”)代码>什么语言?应将其添加为标记。已添加。。抱歉,我认为这是不必要的,因为我认为大多数语言都有相同的切换。有些语言允许跳转,但其他语言不允许。但一般来说,在这种情况下,您将创建两个switch语句。是否可以在同一页中使用相同的$name创建两个switch语句?一开始我是这么想的,但如果这是我编辑的代码呢?抱歉,我刚刚意识到我给出了一个错误的例子,呵呵。实际上,真正的代码比这个复杂得多,我不知道如何简单地解释它。有4个病例。其中2个变量具有相同的值,但也具有相同的变量和不同的值。另外两种情况的值完全不同,但变量仍然相同。最后,我需要在一句话中使用这些变量。所以,如果案件是狗,句子显示狗的。实际上,最后我也在用这个,我想还有另一种方法更简单,哈哈。。谢谢你的帮助,不客气。根据您的要求,这是最简单的方法。