带有 foreach 循环的简单开关盒

我有以下 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;

但是,现在,我收到错误消息:


Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\football.php on line 7


我哪里错了?


12345678_0001
浏览 135回答 2
2回答

30秒到达战场

使用爆炸配合,$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;如果你没问题,有多种方法可以实现这一点,1。$footballTypes     = explode(",", "1,3"); // here I explode$temp = implode("",array_map(function($value){    return "Size $value";}, $footballTypes));print_r($temp);

慕容森

您不需要 switch,因为您添加的文本Size只是 . 使用爆炸和内爆..implode() 函数从数组元素返回一个字符串。 语法:内爆(分隔符,数组)explode() 函数将一个字符串分解成一个数组。语法:explode(separator,string,limit)$footballTypes = "1,2,3";$footballTypeNames = implode('Size ', explode(',',$footballTypes));echo 'Size '.$footballTypeNames;
打开App,查看更多内容
随时随地看视频慕课网APP