उदाहरण:यह ~ ऑपरेटर का मतलब क्या है?
set_error_handler(array($this, 'handleError'), E_ALL & ~E_STRICT & ~E_WARNING & ~E_NOTICE);
क्या इसका मतलब यह लगता है?
उदाहरण:यह ~ ऑपरेटर का मतलब क्या है?
set_error_handler(array($this, 'handleError'), E_ALL & ~E_STRICT & ~E_WARNING & ~E_NOTICE);
क्या इसका मतलब यह लगता है?
यह bitwise not operator (जिसे "पूरक" भी कहा जाता है) है। ~ $a
में सेट बिट्स वे हैं जो $a
में सेट नहीं हैं।
तो फिर
E_ALL & ~E_STRICT & ~E_WARNING & ~E_NOTICE
बिट्स E_ALL
में सेट और उन E_STRICT
, E_WARNING
और E_NOTICE
में सेट नहीं है। यह मूल रूप से सख्त, चेतावनी और नोटिस त्रुटियों को छोड़कर सभी त्रुटियों को कहता है।
यह bitwise-not operator है। उदाहरण के लिए बाइनरी प्रतिनिधित्व 01011110
के साथ किसी संख्या की बिटवाइज अस्वीकृति 10100001
होगी; हर एक बिट इसके विपरीत में फिसल जाता है।
Bitwise Operators देखें: यह "नहीं" ऑपरेटर (के हवाले से) है:
~ $a
बिट्स कि$a
में स्थापित कर रहे हैं सेट नहीं हैं, और इसके विपरीत।
जिसका मतलब है, क्या आप पोस्ट से प्रेरित एक उदाहरण ले रही है, कि कोड के इस भाग:
var_dump(decbin(E_STRICT));
var_dump(decbin(~E_STRICT));
आप इस आउटपुट प्राप्त होगा:
string '100000000000' (length=12)
string '11111111111111111111011111111111' (length=32)
(एक जोड़े पहली पंक्ति के बाईं ओर पैडिंग के लिए 0
के जोड़े, और आप देखेंगे कि मेरा क्या मतलब है)
दूसरा उत्पादन से गद्दी निकाला जा रहा है, आपको मिलता है:
100000000000
011111111111
जिसका मतलब है ~
ऑपरेटर प्रत्येक बिट कि intput में 1
के बराबर था के लिए एक 0
बिट दे दी है - और उपाध्यक्ष प्रतिकूल ,
यह not
bitwise ऑपरेटर है। बिटवाइज़ ऑपरेटर्स के बारे में यहाँ पढ़ें:
बिटवाइज़ के बीच भेद (&, |, ~) और गैर बिटवाइज़ (& &, ||,!) ऑपरेटरों की जाती है कि बिटवाइज़ लागू होते हैं भर में सभी बिट्स पूर्णांक में, जबकि गैर-bitwise एक पूर्णांक (एकल शून्य) या "झूठा" (शून्य) मान के रूप में एक पूर्णांक का इलाज करते हैं।
कहें, $flag_1 = 00000001
और $flag_2 = 00000010
।दोनों गैर-बिटवाइज ऑपरेशंस के लिए "सत्य" होंगे, ($flag_1 && $flag_2
"सत्य" है), जबकि $flag_1 & $flag_2
का परिणाम 00000000 होगा और $flag_1 | $flag_2
का परिणाम 00000011 होगा। ~$flag_2
11111101 होगा, जो थोड़ी देर के लिए चलने के लिए परिणाम स्पष्ट उस बिट स्थिति (xxxxxx0x) होगा। $flag_2
bitwise- एक चलने वाले परिणाम के लिए ORED सेट उस बिट स्थिति (xxxxxx1x) सेट करें।
हालांकि यह तकनीकी स्पष्टीकरण है, यह स्पष्टीकरण तब तक सहायक नहीं है जब तक आपको एहसास न हो कि 'E_STRICT',' E_WARNING', 'E_NOTICE' et। अल। पूर्णांक हैं और साथ ही '&' bitwise ऑपरेटर के साथ संयुक्त किए जा रहे हैं। – IQAndreas