SWITCH 语句两种情况相同和不同的情况
SWITCH-statement two case with same condition and also different condition
您好,我想知道这是否可以在 switch case 中完成。这是我想做的示例代码
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。
编辑:$pic at 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 case 中完成。这是我想做的示例代码
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 值。 我有没有可能像这样
为他们两个只做一个$infoswitch($name)
case "Dog":
case "Cat":
$info ="four legs";
break;
case "bird":
$info = "two legs";
break;
如果这样的代码,我又不知道如何放置 $pic。
编辑:$pic at 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");