Php 带foreach回路的简单开关盒
我有下面的PHP 最终,我希望执行结束时的输出是: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
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
但它仍然不会产生所需的输出,您缺少break代码>statement@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;