3 回答
TA贡献1864条经验 获得超2个赞
您查找第一项的逻辑似乎有点多余,因为foreach()只有在没有找到第一项(它总是会)时才会这样做。
为了简化代码,只需回显第一项,用于array_shift()删除此值并foreach()覆盖数组的其余部分...
$a=array("a","b","c");
echo $a[0]." and some code".PHP_EOL;
array_shift($a);
foreach($a as $c){
echo $c." and some different code".PHP_EOL;
}
TA贡献1803条经验 获得超3个赞
您需要将 foreach 上移一级,如果您明确指定值,则无需搜索。加上其他一些小修复。这是最接近您的代码的解决方案:
$a = array("a","b","c");
$b = $a[0];
foreach($a as $c) {
if ($b == $c) {
echo $b . " and some code\n";
} else {
echo $c . " and some different code\n";
}
}
TA贡献1786条经验 获得超11个赞
您可以使用定义了索引的 foreach 并使用 case / if 语句?
foreach ($arr as $key => $value) {
if($key==0){
echo $value . "and some code";
} else if ($key===1){
echo $value . "and some different code";
} else {
echo $value . "and some even more different code";
};
};
- 3 回答
- 0 关注
- 109 浏览
添加回答
举报