Mar*_* AJ 1 php loops if-statement
我有一个数组,每次都包含不同数量的项目.我需要把这个条件放在它的路上:
"如果项目数小于2,则打印
nothihg,如果项目数在2到4之间,则打印前两项,如果有5项,则打印所有项目".
注意到数组项的最大数量是5.
$myarr = ["one", "two", "three"];
foreach($myarr as $item){
if( count($myarr) >= 2 && count($myarr) < 5 ){
echo $myarr[0].PHP_EOL;
echo $myarr[1];
} else if( count($myarr) == 5 ){
echo $myarr[0].PHP_EOL;
echo $myarr[1].PHP_EOL;
echo $myarr[2].PHP_EOL;
echo $myarr[3].PHP_EOL;
echo $myarr[4];
} else {
echo "nothing";
break;
}
}
Run Code Online (Sandbox Code Playgroud)
如你所见,我已经echo $var[i]静态使用了.怎样才能让它更短,更有动力?
您可以使用以下解决方案:
<?php
$myarr = ["one", "two", "three"];
$items_count = count($myarr);
if ($items_count < 2) {
echo "nothing";
} elseif ($items_count >= 2 && $items_count <= 4) {
echo implode(PHP_EOL, array_slice($myarr, 0, 2));
} else {
echo implode(PHP_EOL, $myarr);
}
Run Code Online (Sandbox Code Playgroud)
演示: https ://ideone.com/sG3Nm5
foreach在这种情况下,您不需要循环.一个简单的条件列表count可以做到这一点.
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |