php之用一个常量控制多个开关状态

需求:
1. 用一个常量表示所有开关的状态
2. 关闭任意一个指定的开关
3. 打开任意一个指定的开关
4. 一键打开所有的开关
5. 一键关闭所有的开关

代码实现如下:

<?php

header("content-type:text/html;charset=utf-8");
//定义常量,代表五个灯泡
define('L1',1); // 00001
define('L2',2); // 00010
define('L3',4); // 00100
define('L4',8); // 01000
define('L5',16);// 10000


$state = 10;

//展示5个灯泡的状态
function showLights()
{
  for($i=1;$i<=5;++$i)
  {

   $light = 'L'.$i;
   if($GLOBALS['state'] & constant($light) )
   {
     echo 'L'.$i.'亮 ';   
   }
   else
   {

     echo 'L'.$i.'灭 '; 
   }

  }
}


echo "开始灯泡状态:<br>";
showLights();
echo "<br>";

//关闭任意一个指定的灯泡
$state = $state & ~L2;//关闭灯泡L2

echo "关闭灯泡L2:<br>";
showLights();
echo "<br>";



//打开任意个指定的灯泡
$state = $state | L1;//打开灯泡L1

echo "打开灯泡L1:<br>";
showLights();
echo "<br>";


//一键打开所有灯

function turnOnAll()
{
  for($i=1;$i<=5;++$i)
  {

   $light = 'L'.$i;
   $GLOBALS['state'] = $GLOBALS['state'] | constant($light);
  }
}

//一键关闭所有灯

function turnOffAll()
{
  for($i=1;$i<=5;++$i)
  {
   $light = 'L'.$i;
   $GLOBALS['state'] = $GLOBALS['state'] & ~constant($light);
  }
}


echo "打开所有灯:<br>";
turnOnAll();
showLights();
echo "<br>";


echo "关闭所有灯:<br>";
turnOffAll();
showLights();
echo "<br>";


//打开任意个指定的灯泡
$state = $state | L3;//打开灯泡L3

echo "打开灯泡L3:<br>";
showLights();
echo "<br>";

运行结果:

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值