我正在寻找一种方法来从按位运算符可能预先计算的整数中找出函数中传递的参数(以及它们的顺序) 。我已经知道我应该使用像 2^n 这样的数字作为可以传递的常量(由于按位计算),但我不知道如何分解它。
所以总结一下:
- 如何确定 1 和 4 已传递给以下函数
- 可以通过某种特定的按位运算符以某种方式获得这些顺序吗?
这是一个显示我的意思的示例。
$inst = new SomeClass;
$inst->some_func( SomeClass::RULE1 | SomeClass::RULE3 );
class SomeClass {
const RULE1 = 1;
const RULE2 = 2;
const RULE3 = 4;
public function some_func($arg) {
// what are the RULE's in the $arg here?
}
请注意,我试图弄清楚如何将按位运算符用作函数参数。所以我不是在寻找其他解决方案,比如将数组传递给函数或使用func_get_args()
.