2013-04-30 3 views
-2

Je lis autre code php, et il y a une ligne écrit:quel est le sens de « | = » en PHP

if ($isprivate) 
    { 
    $status |= STATUS_PRIVATE; 
    } 

Je ne sais pas ce que signifie « | = » signifie? Quelqu'un peut-il aider à ce sujet?

+0

Bitwise "ou" raccourci. –

+0

Avez-vous essayé de rechercher une liste d'opérateurs dans la documentation officielle de PHP? – Patashu

+3

Tout opérateur de la forme 'un ⊛ = b' est un raccourci pour' a = a ⊛ b' –

Répondre

4

| est un opérateur au niveau du bit. Il prend deux nombres et effectue une opération OR au niveau du bit. http://en.wikipedia.org/wiki/Bitwise_OR#OR

Ex: A = 4 B = 3

en binaire: A = 100 B = 011

A | B == 111 (en binaire) == 7 (en décimal)

A | = B est le même que A = A | B

Dans votre exemple précis, le code vérifie pour voir si $ IsPrivate est vrai. Si c'est le cas, le bit marqué par STATUS_PRIVATE est mis à TRUE dans la variable $ status.

1

C'est un raccourci de ceci:

$status = $status | STATUS_PRIVATE; 

Or (inclusive or)

Par exemple

define(STATUS_PRIVATE, 0b01); 
$status = 0b00; 
$status |= STATUS_PRIVATE; //status become 0b01; 
+0

Cela fait quoi exactement? –

+0

Il définit l'indicateur 'STATUS_PRIVATE' sur true. – C0deH4cker

Questions connexes