Php 带foreach回路的简单开关盒

Php 带foreach回路的简单开关盒,php,Php,我有下面的PHP 最终,我希望执行结束时的输出是: Size1Size3 $footballTypes = "1,3"; $footballTypeNames = ""; foreach ( $footballTypes as $data ) { switch ($data) { case 1: $footballTypeNames .= "Size 1"; case 2: $footballTypeNames .= "Size

我有下面的PHP

最终,我希望执行结束时的输出是:

Size1Size3

$footballTypes = "1,3";

$footballTypeNames = "";

foreach ( $footballTypes as $data ) {
    switch ($data) {
      case 1:
        $footballTypeNames .= "Size 1";
      case 2:
        $footballTypeNames .= "Size 2";
      case 3:
        $footballTypeNames .= "Size 3";
    }
}

echo $footballTypeNames;
但是,现在我得到了一个错误:

警告:为第7行C:\xampp\htdocs\football.php中的foreach()提供的参数无效

我哪里出错了?

使用mate

如果您还可以的话,有多种方法可以实现这一点,
一,


您不需要切换,因为您添加的文本仅为
大小。使用“爆炸”和“内爆”

函数的作用是:返回数组元素中的字符串。 语法:内爆(分隔符,数组)

函数的作用是:将字符串拆分为数组语法:分解(分隔符、字符串、限制)


$footballTypes
是字符串,而不是数组。更改为
$footballTpes=[1,3,3]我觉得你可以完全避免开关箱。@michaelmcgurk你能告诉我选项是如何排列的吗?就效率而言,切换案例比我想象的要快一点,但也许我们可以让您的代码不那么冗长。如果您有一个关联数组
1=>“Size 1”
等,这将是如此简单
“Size$data”
…?!奇怪的当我运行该代码时,我得到以下输出:
Size 1Size 2Size 3Size 3
但它仍然不会产生所需的输出,您缺少
breakstatement@SujeetAgrahari刷新页面。我想它没有反映在你这边。是的,现在它被反映了。
$footballTypes     = explode(",", "1,3"); // here I explode
$footballTypeNames = "";
foreach ($footballTypes as $data) {
    switch ($data) {
        case 1:
            $footballTypeNames .= "Size 1";break;
        case 2:
            $footballTypeNames .= "Size 2";break;
        case 3:
            $footballTypeNames .= "Size 3";break;
    }
}
echo $footballTypeNames;
$footballTypes     = explode(",", "1,3"); // here I explode
$temp = implode("",array_map(function($value){
    return "Size $value";
}, $footballTypes));
print_r($temp);
$footballTypes = "1,2,3";

$footballTypeNames = implode('Size ', explode(',',$footballTypes));


echo 'Size '.$footballTypeNames;