모두 좋은 하루.PHP의 함수에 대한 이진 플래그
내가 인수의 수를 증가시키지 않고, 함수에 대해 여러 플래그를 사용하는 방법을 알아 내려고 노력하고있어. 예를 들어 그 some_func처럼 사용하기 위해
(| flag2 | 인 flag1 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에 있음을 prings.
그래서 모든 것이 작동합니다. 하지만 ... 더 나은 방법이있을 것이라고 확신합니다. 맞습니까? 질문은 - 어떻게하면 좋을까요? 나는 그런 것들을 구현할 적절한 방법이 있다고 확신한다.
가능한 중복 (http://stackoverflow.com/questions/9644085/pass-multiple-defines-or-const-as-a-parameter-to [클래스 메소드의 파라미터로서 또는 다수의 정의 CONST 통과] -a-class-method) – Brad
@Brad, 아니야 :) – NewProger
Check http://www.shawnolson.net/a/601/setting_bits_and_flags_in_php.html –