ビットごとの演算子によって事前に計算された可能性のある整数から、関数で渡された引数 (およびその順序) を把握する方法を探しています。渡すことができる定数に 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()
。