码迷,mamicode.com
首页 > Web开发 > 详细

php中位运算的应用:货品的状态

时间:2014-05-31 00:54:33      阅读:414      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

效果如下图:

bubuko.com,布布扣

分析:用一个整数的二进制可以记录32状态

00000000 00000000 00000000 00000000  >>=0

从右往左保存这三个的状态:

精品选中,第一位设置为1: 00000000 00000000 00000000 00000001 >>=1

新品选中,第一位设置为1: 00000000 00000000 00000000 00000010 >>=2

热销选中,第一位设置为1: 00000000 00000000 00000000 00000100 >>=4

定义一个初始状态就是都不选中的:$status=0;

这三状态都选中是:00000000 00000000 00000000 00000111

bubuko.com,布布扣
$status=0;//初始状态
if($_SERVER[‘REQUEST_METHOD‘]==‘POST‘){
    $is_best=isset($_POST[‘is_best‘])?$_POST[‘is_best‘]:0;
    $is_new=isset($_POST[‘is_new‘])?$_POST[‘is_new‘]:0;
    $is_hot=isset($_POST[‘is_hot‘])?$_POST[‘is_hot‘]:0;
    $status=$status|$is_best|$is_new|$is_hot;
}
?>
<form action="<?php $_SERVER[‘PHP_SELF‘];?>" method="post">
    商品状态:<input type="checkbox" name="is_best" value="1" <?php echo $status&1?‘checked‘:‘‘; ?> />精品
    <input type="checkbox" name="is_new" value="2" <?php echo $status&2?‘checked‘:‘‘; ?> />新品
    <input type="checkbox" name="is_hot" value="4" <?php echo $status&4?‘checked‘:‘‘; ?> />热销
    <br/>
    <input type="submit" value="提交" />
</form>
<?php echo decbin($status); ?>
<br/>

精品是否:<?php echo $status&1?‘是‘:‘否‘; ?><br/> 新品是否:<?php echo $status&2?‘是‘:‘否‘; ?><br/> 热销是否:<?php echo $status&4?‘是‘:‘否‘; ?>
bubuko.com,布布扣

 

php中位运算的应用:货品的状态,布布扣,bubuko.com

php中位运算的应用:货品的状态

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/qzjpkfj/p/3761872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!