【发布时间】:2014-12-29 13:08:10
【问题描述】:
有一个php数组
$arr = array(
1 => "a",
2 => "b",
4 => "c",
8 => "d",
16 => "e",
32 => "f"
);
和一个二进制数
$filter=101101
我想过滤数组并只保留二进制中相应值为 1 的键 对于这个例子,我会:
$arr = array(
1 => "a",
4 => "c",
8 => "d",
32 => "f"
);
或者对于
$filter=110001
得到
$arr = array(
1 => "a",
2 => "b",
32 => "f"
);
【问题讨论】:
-
为什么要使用二进制形式而不是在数组键中使用正常计数来引用它们?
-
其实$filter存储为十进制。所以 101101 存储为 45 而 110001 存储为 35。这是一种排序方式。正常计数是什么意思?
标签: php arrays binary filtering