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个变量具有相同的值,但也具有相同的变量和不同的值。另外两种情况的值完全不同,但变量仍然相同。最后,我需要在一句话中使用这些变量。所以,如果案件是狗,句子显示狗的。实际上,最后我也在用这个,我想还有另一种方法更简单,哈哈。。谢谢你的帮助,不客气。根据您的要求,这是最简单的方法。