How to use a bitwise operator to pass multiple Integer values to a function for PHP

2 Answers

0 votes
class Example {
    const ONE   = 0x01;
    const TWO   = 0x02;
    const THREE = 0x04;
    const FOUR  = 0x08;

    public static function multiValueExample($values) {
        if (($values & self::ONE) == self::ONE) {
            echo "ONE\n";
        }
        
        if (($values & self::TWO) == self::TWO) {
            echo "TWO\n";
        }
    
        if (($values & self::THREE) == self::THREE) {
            echo "THREE\n";
        }
        
        if (($values & self::FOUR) == self::FOUR) {
            echo "FOUR\n";
        }
    }
}

Example::multiValueExample(Example::ONE | Example::THREE | Example::FOUR);


 
/*
run:
 
ONE
THREE
FOUR
 
*/

 



answered Jan 14, 2025 by avibootz
0 votes
define('ONE', 0x01);
define('TWO', 0x02);
define('THREE', 0x04);
define('FOUR', 0x08);

function multiValueExample($values) {
    if (($values & ONE) == ONE) {
        echo "ONE\n";
    }

    if (($values & TWO) == TWO) {
        echo "TWO\n";
    }

    if (($values & THREE) == THREE) {
        echo "THREE\n";
    }

    if (($values & FOUR) == FOUR) {
        echo "FOUR\n";
    }
}

multiValueExample(ONE | THREE | FOUR);


 
/*
run:
 
ONE
THREE
FOUR
 
*/

 



answered Jan 14, 2025 by avibootz
...