私は、PHPのいくつかの関数が引数としてフラグを使用していることに気付きました。普通の文字列引数の代わりにそれらをユニークにするのは何ですか?私は私自身のカスタム関数でそれらを使用したいので、私は尋ねていますが、そのプロセスが何であるかについては興味があります。関数の引数にあるPHPのフラグは何ですか?
編集:は要約すると、ときに最高のフラグでカスタム関数を作成することであるとするとき、それはないのですか?
私は、PHPのいくつかの関数が引数としてフラグを使用していることに気付きました。普通の文字列引数の代わりにそれらをユニークにするのは何ですか?私は私自身のカスタム関数でそれらを使用したいので、私は尋ねていますが、そのプロセスが何であるかについては興味があります。関数の引数にあるPHPのフラグは何ですか?
編集:は要約すると、ときに最高のフラグでカスタム関数を作成することであるとするとき、それはないのですか?
これらは、数字にマップされる単なる定数です。 SORT_NUMERIC
(ソート関数によって使用される定数)は、整数1
です。 json_encode()
ため
あなたが見ることができるように、各フラグは2のn です。このように、|
を使用して、複数のフラグを指定することができます。例えば
、あなたはフラグJSON_FORCE_OBJECT
(16
または00010000
)とJSON_PRETTY_PRINT
(128
または10000000
)を使用するとします。いずれかのオペランドのビットがオンの場合
ビット演算子OR(|
が)上のビットをオンにします...
JSON_FORCE_OBJECT | JSON_PRETTY_PRINT
は...内部....
00010000 | 1000000
..です.whichが...
10010000
であるあなたは...
でそれを確認することができます10var_dump(base_convert(JSON_PRETTY_PRINT | JSON_FORCE_OBJECT, 10, 2));
// string(8) "10010000"
これは、両方のフラグはビット演算子でをを設定することができる方法です。
これらは値が入ったラッパーです。したがって、関数が必要とするものを気にする必要はありません。それぞれが1に設定された1ビットを持っており、0にすべての他の人がこの方法であなたはビット単位の演算子を使用して単一の整数で多くのバイナリ値を渡すことができるように
は、通常のフラグは、2の連続したべき乗ある整数です。詳細については、これを参照してください。information
[PHP関数のフラグ、方法は?](http://stackoverflow.com/questions/3589573/php-function-flags-how) – Quentin
cosntantだけで、あなたに表示されますコンテンツ。 – MetalFrog