函数参数中的PHP标志是什么?

enc*_*nce 8 php flags function

我注意到PHP中的一些函数使用flags作为参数.是什么让他们独特而不是普通的字符串参数?我问,因为我想在我自己的自定义函数上使用它们,但我很好奇这个过程是做什么的.

编辑:总结一下,何时最好使用标志创建自定义函数,何时不是

ale*_*lex 10

它们只是映射到数字SORT_NUMERIC的常量,例如(排序函数使用的常量)是整数1.

退房的例子json_encode().

如您所见,每个标志为2 n.这样,|可以用来指定多个标志.

例如,假设您要使用标志JSON_FORCE_OBJECT(1600010000)和JSON_PRETTY_PRINT(12810000000).

|如果任一操作数的位打开,则按位运算符OR()将打开该位...

JSON_FORCE_OBJECT | JSON_PRETTY_PRINT
Run Code Online (Sandbox Code Playgroud)

......在内部....

00010000 | 1000000
Run Code Online (Sandbox Code Playgroud)

......这是......

10010000
Run Code Online (Sandbox Code Playgroud)

你可以用...来检查它

var_dump(base_convert(JSON_PRETTY_PRINT | JSON_FORCE_OBJECT, 10, 2));
// string(8) "10010000"
Run Code Online (Sandbox Code Playgroud)

CodePad.

这是如何使用按位运算符设置两个标志.