2011-07-06 17 views
12

मैं कुछ php कोड स्रोत पढ़ने और पाया पीछा कर रहा था:का उपयोग कर | = php में

$failed |= is_numeric($key); 

अन्य की तुलना में अगर $key संख्यात्मक है, क्या |= मतलब है?

+3

http://www.php.net/manual/en/language.operators.assignment। php # 40084 – mario

उत्तर

14

$x |= $y; रूप $x = $x | $y;

$x | $y एक बिटवाइज़ ऑपरेटर जो यह दो चर के बीच एक तार्किक 'या' का परिणाम देता है इसका मतलब है एक ही है।

प्रश्न के संदर्भ में, यह $failed को एक चर में कई क्रियाओं के लिए विफलता स्थितियों को संग्रहीत करने की अनुमति देता है (प्रत्येक बिट स्थिति एक व्यक्तिगत कार्रवाई का प्रतिनिधित्व करती है)।

आप इस क्या करता है, मैं बिटवाइज़ ऑपरेटर्स के लिए PHP मैनुअल पृष्ठ पढ़ने का सुझाव के बारे में अधिक जानना चाहते हैं तो: http://www.php.net/manual/en/language.operators.bitwise.php

+0

+1 अब तक का सबसे सही और सबसे पूरा उत्तर होने के लिए +1 है। – Dereleased

+0

वोटिंग अन्य उत्तरों के साथ तुलना के लिए नहीं है, लेकिन पूर्ण मूल्य के लिए। फिर भी, +1 क्योंकि यह एक अच्छा जवाब है। –

12

नोटेशन $a |= $b का अर्थ $a = $a | $b है, अन्य x= नोटेशन के समान। | थोड़ा सा या ऑपरेशन है।

4

यह के बराबर है:

$failed = $failed | is_numeric($key); 

| बिटवाइज़ or ऑपरेटर है।

जब भी आप x <something>= y देखते हैं, तो इसे x = x <something> y के रूप में फिर से लिखा जा सकता है।

4

एक बिटवाइज़ OR है यही कारण है कि इतने पंक्ति के रूप में

$failed = $failed | is_numeric($key); 

इसका मतलब है कि $failedtrue है यदि या तो $failed से पहले याis_numeric($key)true है true किया गया है एक ही है।

संबंधित मुद्दे