今天是个好日子。
我试图找出一种在不增加参数数量的情况下为函数使用多个标志的方法。
例如像这样使用它 some_func(flag1|flag2|flag3);
现在我这样做了
define('flag1', 1);
define('flag2', 2);
define('flag3', 4);
function flagtest($flags)
{
if ($flags & flag1)
echo 'flag1 is on, ';
if ($flags & flag2)
echo 'flag2 is on, ';
if ($flags & flag3)
echo 'flag3 is on, ';
}
flagtest(flag2 | flag3);
它会提示标志 2 和 3 已打开。
所以,一切正常。但是...我敢肯定有更好的方法来做到这一点...对吗?所以,问题 - 我怎样才能让它变得更好?我确信有一种适当的方法来实现这样的东西。