2011-01-05 14 views
45

क्या PHP में boolean मान स्विच/इनवर्टर करने के लिए कोई फ़ंक्शन है?बूलियन मूल्य स्विच/उलटा

की तरह ... एक शॉर्टकट के लिए:

if($boolean === true){ 
    $boolean = false; 
}else{ 
    $boolean = true; 
} 
+3

http://uk.php.net/manual/en/language.operators.logical.php – Piskvor

उत्तर

103

हाँ:

$boolean = !$boolean; 

अगर यह एक बूलियन मान नहीं है, आप त्रिगुट निर्माण का उपयोग कर सकते हैं:

$int = ($some_condition ? 1 : 2); // if $some_condition is true, set 1 
            // otherwise set 2 
+1

'$ bool =! $ Bool' * true * to * false * चालू हो जाएगा, लेकिन यह * झूठी * * सच * करने के लिए? – jolt

+2

@ टॉम यकीन है। इसे आजमाएं –

+0

यह कोड उत्कृष्ट है। यह इतना आसान है, और मैंने कभी इसके बारे में सोचा नहीं होगा! – 131

-9

बूल या तो सत्य या गलत हो सकता है।

उपयोग इस

उपयोग: (बुलियन) लाल = varbool (गलत) $;
$ लाल प्रतिध्वनि;

सच के लिए यह शून्य और एक वापस आ जाएगी बूलियन के झूठे

function varbool($val){ 

    $val +=(-1); 
    $val *= (-1); 
    return $val; 
} 

धन्यवाद ...

+4

सिर्फ एक प्रश्न ... ** क्यों **? '!' के साथ क्या गलत है? (मैं पहिया को पुनर्निर्मित करने के लिए -0.5 और बहुत ही खराब करने के लिए -0.5 के लिए प्रलोभन कर रहा हूं) – delnan

+11

हंसी के लिए धन्यवाद! – Max

+0

लालित्य आपके पहले नाम के नाम और आपके अंतिम नाम से पहले है, यदि आपके पास तीन नाम हैं। – Ben

0

एक स्पर्श पिकअप के लिए:

$ डिटेक्टर = $ पिकर = $ डिटेक्टर;

3

निरपेक्ष मूल्य समारोह abs() उपयोग के बारे में, $ वैल "1" या "0" हो सकता है और आप इसे उलटने करना चाहते हैं क्या:

$val = abs($val-=1); 

तर्क:

हमेशा घटाकर "1" संख्या से और "साइन" को खत्म करने से।

1 - 1 = 0 
abs(0) = 0 

0 - 1 = -1 
abs(-1) = 1 
2

आप कम से कम कोड चाहते हैं, XOR 1 के साथ बूलियन:

$boolean ^= 1; 

कड़ाई से यह एक पूर्णांक एक बूलियन नहीं देता है। यह $boolean = !$boolean (और थोड़ा कम कुशल है) के समान काम नहीं करता है लेकिन अधिकांश उद्देश्यों के लिए इसे नौकरी करना चाहिए।

+0

tks @Gannet मेरे लिए चाल है! –

1

परिणाम को बदलने के लिए बस ! का उपयोग करें ताकि यह इस प्रकार हो: $ boolean =! (Bool) $ परिणाम;

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