内容简介:翻译自:https://stackoverflow.com/questions/22154793/working-with-bitcode
对于SO来说,这只是一点点OT,因为我不是要解决一个特定的问题,而只是为了理解某些事情的实现方式.但我是在代码之后,让我们看看它是怎么回事……
假设我们在一周中的每一天都有一个复选框,我们决定将这些复选框的任意组合存储为单个数字,这样:
0 = no days 1 = Monday 2 = Tuesday 4 = Wednesday 8 = Thursday 16 = Friday 32 = Saturday 64 = Sunday 127 = everyday
如何在 PHP 中实现该逻辑,以便如果我提交说“13”,PHP会知道只勾选周一,周三和周四复选框?
按位AND:
$input = 13;
if( $input & 1 ) {
echo 'Monday';
}
if( $input & 2 ) {
echo 'Tuesday';
}
if( $input & 4 ) {
echo 'Wednesday';
}
// etc
编辑
您可以使用以下内容来避免使用ifs:
$input = 13;
$days = array('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun');
for( $i=0; $i<7; $i++ ) {
$daybit = pow(2,$i);
if( $input & $daybit ) {
echo $days[$i] . ' ';
}
}
//output: mon wed thu
这两种方法不仅仅是这两种方法,而是“最佳”方式取决于您的结果/输出需要的方式.
翻译自:https://stackoverflow.com/questions/22154793/working-with-bitcode
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Purely Functional Data Structures
Chris Okasaki / Cambridge University Press / 1999-6-13 / USD 49.99
Most books on data structures assume an imperative language such as C or C++. However, data structures for these languages do not always translate well to functional languages such as Standard ML, Ha......一起来看看 《Purely Functional Data Structures》 这本书的介绍吧!