Dharman
Dharman

Reputation: 33403

What is the purpose of XOR with zero

Taken from here: http://php.net/manual/en/function.base-convert.php#105414

function rome($N){ 
    $c='IVXLCDM'; 
    for($a=5,$b=$s='';$N;$b++,$a^=7) 
        for($o=$N%$a,$N=$N/$a^0;$o--;$s=$c[$o>2?$b+$N-($N&=-2)+$o=1:$b].$s); 
    return $s; 
}

What is the purpose of XOR $a^0; here? (4th line)

Deleting it doesn't seem to make any difference. Check it out at: http://goo.gl/K6TwQI

Upvotes: 0

Views: 2602

Answers (1)

Austin Brunkhorst
Austin Brunkhorst

Reputation: 21130

You'll commonly see people use bitwise operators to implicitly convert expressions to an integer because of the way the underlying language works. This is mainly because these operations are blazing fast and avoid function calls, etc.

Because XOR doesn't affect the integer part of the variable, my best best is that this is just being used to ensure $a is always evaluated as an integer.

Here's an example.

Upvotes: 1

Related Questions