2012-07-13 18 views
13

मुझे यह भी भ्रमित हो जाता है कि फ़ंक्शन से लौटाए जाने पर कोई चर गलत/शून्य है या नहीं।PHP जांचें कि गलत या शून्य

खाली() का उपयोग कब करें और स्थिति को जांचने के लिए जारीकर्ता() का उपयोग कब करें?

उत्तर

7

फ़ंक्शंस से रिटर्न के लिए, आप न तो isset और न ही empty का उपयोग करते हैं, क्योंकि वे केवल चर पर काम करते हैं और त्रुटियों को ट्रिगर किए बिना संभवतः गैर-मौजूदा चर के परीक्षण के लिए वहां हैं।

समारोह रिटर्न चर के अस्तित्व के लिए जाँच के लिए व्यर्थ है, तो बस कार्य करें:

if (!my_function()) { 
    // function returned a falsey value 
} 

और अधिक विस्तार से इस बारे में पढ़ने के लिए, The Definitive Guide To PHP's isset And empty देखते हैं।

+0

मैं वास्तव में एक रिटर्न सरणी या झूठी पकड़ने की कोशिश कर रहा हूं और यह निर्धारित करने की कोशिश कर रहा हूं कि –

+3

ठीक क्या करना है? तो '$ वापसी = myfunction(); अगर (! $ वापसी) {// 'टी झूठा था! } ' – deceze

+0

हाँ सर ....:) :) –

1

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

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

+0

एक चर के पास असाइन किए गए मान नहीं हो सकते हैं। मान कम से कम 'शून्य' है। – deceze

4

इस्सेट() जांचता है कि एक चर के पास एक मूल्य है (गलत, 0, या खाली स्ट्रिंग), लेकिन शून्य नहीं। var मौजूद होने पर सत्य लौटाता है; FALSE अन्यथा।

दूसरी ओर खाली() फ़ंक्शन जांच करता है कि चर, शून्य एक खाली मूल्य रिक्त स्ट्रिंग, 0 है, या गलत। FALSE देता है यदि वर एक गैर खाली और गैर शून्य मान।

है
0
  • जांच झूठी: अगर ($ वी === गलत)
  • जांच अशक्त: अगर (is_null ($ v))

खाली() एक evil.It धीमी है, और आप की जाँच इस तरह की जरूरत है जब $ वी queals झूठी, 0, '0', सरणी(), '', यह true.if वापस आ जाएगी , आप का उपयोग कर सकते हैं यदि ($ v)

+3

'खाली 'बुरा नहीं है, आप बस इसके उपयोग के मामले को समझ नहीं पाते हैं। क्या मैं आपको [PHP के जारी करने और खाली करने के लिए परिभाषित मार्गदर्शिका] (http://kunststube.net/isset/) पर निर्देशित कर सकता हूं? – deceze

+1

शिक्षण के लिए धन्यवाद! – Allen

6

जाँच हो रही है चर (कुछ उदाहरण)

if(is_null($x) === true) // null 
if($x === null) // null 
if($x === false) 
if(isset($x) === false) // variable undefined or null 
if(empty($x) === true) // check if variable is empty (length of 0) 
0

isset - निर्धारित करें यदि एक चर सेट और शून्य नहीं है

$a = "test"; 
$b = "anothertest"; 

var_dump(isset($a));  // TRUE 
var_dump(isset($a, $b)); // TRUE 

unset ($a); 

var_dump(isset($a));  // FALSE 

खाली - निर्धारित करें कि क्या एक चर खाली है

<?php 
$var = 0; 

// Evaluates to true because $var is empty 
if (empty($var)) { 
    echo '$var is either 0, empty, or not set at all'; 
} 

// Evaluates as true because $var is set 
if (isset($var)) { 
    echo '$var is set even though it is empty'; 
} 
?> 
संबंधित मुद्दे