我不确定位掩码是否是正确的术语。让我解释一下:
在php中,可以通过多种方式调用error_reporting
函数:
// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);
我从php.net页面here获得了术语位掩码
无论如何,重点是,我已经实现了一个名为ls
的简单方法,它返回目录的内容。
此函数需要3个参数...( $include_hidden = false,$return_absolute = false,$ext = false )
因此,当我调用函数时,我设置了我想要的结果。我是否想让结果返回隐藏目录,是否只想要基本名称等。
因此,当我调用我正在编写的函数时
ls(true, false, true)
ls(false, false, true)
ls(true, true, true)
etc...
我想如果我能标记出我想要的数据返回方式,它会更具可读性。
所以就像这样:
ls( INCLUDE_HIDDEN | HIDE_EXTS );
ls( SHOW_ABSOLUTE_PATHS | HIDE_EXTS );
等等。
在测试调用了哪些标志时,我该如何实现这一点?
发布于 2012-08-09 17:29:24
define( "INCLUDE_HIDDEN", 0x1 );
define( "HIDE_EXTS", 0x2 );
define( "SHOW_ABSOLUTE_PATHS", 0x4 );
//And so on, 0x8, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, 0x800 etc..
然后,您可以检查ls
函数中的各个标志:
if( $flags & INCLUDE_HIDDEN ) { //<-- note just a single &, bitwise and
//$flags have INCLUDE_HIDDEN
}
https://stackoverflow.com/questions/11880360
复制相似问题