2013-12-14 7 views
19

मुझे isset() और !empty() के बीच का अंतर नहीं समझा।PHP में 'isset()' और '! खाली()' के बीच क्या अंतर है?

क्योंकि यदि कोई चर सेट किया गया है, तो क्या यह खाली नहीं है?

+3

के बराबर है तुम दोनों के लिए मैनुअल पढ़े हैं? [यहां] (http://www.php.net/isset) और [यहां] (http://www.php.net/empty) – George

+2

इसके अलावा http://kunststube.net/isset/ पढ़ें। धन्यवाद @deceze – hek2mgl

+0

'isset(); जांचता है कि चर वैरिएबल रूप से सेट किया गया है, क्योंकि वैरिएबल में वास्तव में कुछ मूल्य को इंगित करता है। 'खाली(); 'जांचता है कि वैरिएबल पॉइंट्स के मान में कुछ भी शामिल है या नहीं। – AlphaDelta

उत्तर

30

ISSET यह देखने के लिए चर सेट करता है कि यह सेट किया गया है या नहीं। दूसरे शब्दों में, यह देखने के लिए जांच करता है कि क्या वैरिएबल शून्य के अलावा कोई मान है या मान निर्दिष्ट नहीं किया गया है। ISSETTRUE देता है यदि परिवर्तक मौजूद है और उसके पास NULL के अलावा कोई अन्य मूल्य है। इसका मतलब है कि वेरिएबल्स को "", 0, "0", या गलत सेट किया गया है, और इसलिए ISSET के लिए हैं।

EMPTY यह देखने के लिए जांचता है कि कोई चर खाली है या नहीं। खाली के रूप में व्याख्या की गई है: "" (एक खाली स्ट्रिंग), 0 (पूर्णांक), 0.0 (फ्लोट) `," 0 "(स्ट्रिंग), नल, गलत, सरणी() (एक खाली सरणी), और" $ var; " (एक चर घोषित है, लेकिन।

अधिक जानकारी के लिए एक कक्षा में एक मूल्य के बिना, this article

+3

"" खाली नहीं है। "" खाली है। – EresDev

+1

क्या आप एक उदाहरण दे सकते हैं जहां जारीकर्ता सत्य है लेकिन खाली झूठा है। यह भी एक उदाहरण है जहां जारीकर्ता झूठी है लेकिन खाली सच है? – Unbreakable

0

isset - निर्धारित करें कि कोई चर सेट है और न्यूल नहीं है।

!empty - निर्धारित करें कि कोई चर खाली नहीं है या नहीं।

+0

'! जारीकर्ता (एनयूएलएल) === खाली (शून्य)'। – hek2mgl

+3

तो "खाली" कैसे परिभाषित किया गया है? अपर्याप्त स्पष्टीकरण। – deceze

0

isset वापसी देखना गलत अगर चर सेट नहीं किया गया है या यह शून्य है और परिवर्तनीय सेट किया गया है और शून्य नहीं है।

! रिक्त स्थान सेट किया गया है और खाली नहीं है। पीटीई स्ट्रिंग, खाली सरणी, "0", 0 और झूठी को खाली के रूप में परिभाषित किया जाता है।

0

और एक और टिप्पणी। empty() जांचता है कि क्या चर मौजूद है। अर्थात। यदि हम उन घोड़ों को empty() निष्पादित करते हैं जिन्हें घोषित नहीं किया गया था, तो हमें कोई त्रुटि नहीं मिली है, empty() 'सत्य' देता है। इसलिए हम isset() से बच सकते हैं अगर अगली हमें यह जांचने की आवश्यकता है कि वेरिएबल खाली है या नहीं।

तो

isset($var) && !empty($var) 

हो जाएगा

!empty($var) 
संबंधित मुद्दे