您的位置 首页 php

web开发之-PHP逻辑判断(2)

假如,你有一堆铅笔,有 红,黄,蓝 三种颜色,你想要知道每一个颜色的笔的数量是多少,会怎么写呢?看下面:

 <?php
$pen = ["红","蓝","蓝","红","红","蓝","红","蓝","红","红","红","蓝","红","黄","蓝","其他","其他"]; // 所有的铅笔
$redNum = 0; // 红色铅笔数
$yellowNum = 0; // 黄色铅笔数
$blueNum = 0; // 蓝色铅笔数
$otherNum = 0;
 foreach ($pen as $val){
  if($val=="红"){
    $redNum++;
  }else if($val=="黄"){
    $yellowNum++;
  }else if($val=="蓝"){
    $blueNum++;
  }else{
    $otherNum++;
  }
}
echo "红色铅笔数:".$redNum.PHP_EOL;
echo "黄色铅笔数:".$yellowNum.PHP_EOL;
echo "蓝色铅笔数:".$blueNum.PHP_EOL;
echo "其他颜色铅笔数:".$otherNum.PHP_EOL;
?>  

以下会输出:

 红色铅笔数:8
黄色铅笔数:1
蓝色铅笔数:6
其他颜色铅笔数:2  

如果有100多种颜色的话,怎么办?难道写100个if和else判断么?当然不行,那样写下来,代码太不容易理解了,看下面的例子:

 <?php
$pen = ["红","蓝","蓝","红","红","蓝","红","蓝","红","红","红","蓝","红","黄","蓝","其他","其他"]; // 所有的铅笔
$redNum = 0; // 红色铅笔数
$yellowNum = 0; // 黄色铅笔数
$blueNum = 0; // 蓝色铅笔数
$otherNum = 0;
foreach($pen as $val)
{
  switch($val)
  {
    case "红":
      $redNum++;
      break;
    case "黄":
      $yellowNum++;
      break;
    case "蓝":
      $blueNum++;
      break;
    default:
      $otherNum++;
      break;
  }
}
echo "红色铅笔数:".$redNum.PHP_EOL;
echo "黄色铅笔数:".$yellowNum.PHP_EOL;
echo "蓝色铅笔数:".$blueNum.PHP_EOL;
echo "其他颜色铅笔数:".$otherNum.PHP_EOL;
?>  

输出:

 红色铅笔数:8
黄色铅笔数:1
蓝色铅笔数:6
其他颜色铅笔数:2  

和上面的输出一样。

注:switch($val)表示取出$val的值,case “红”:表示$val如果是”红”,default:表示没有匹配到的红,黄,蓝的其他选项的情况

文章来源:智云一二三科技

文章标题:web开发之-PHP逻辑判断(2)

文章地址:https://www.zhihuclub.com/153456.shtml

关于作者: 智云科技

热门文章

网站地图