दोनों की जांच क्यों करें isset
और !empty
के बीच कोई अंतर है। अगर मैं यह डबल बूलियन चेक करता हूं, तो क्या यह इस तरह से या अनावश्यक है? और क्या वही काम करने का एक छोटा रास्ता है?दोनों जारीकर्ता() और! खाली()
isset($vars[1]) AND !empty($vars[1])
दोनों की जांच क्यों करें isset
और !empty
के बीच कोई अंतर है। अगर मैं यह डबल बूलियन चेक करता हूं, तो क्या यह इस तरह से या अनावश्यक है? और क्या वही काम करने का एक छोटा रास्ता है?दोनों जारीकर्ता() और! खाली()
isset($vars[1]) AND !empty($vars[1])
यह पूरी तरह से अनावश्यक है। empty
!isset($foo) || !$foo
के लिए कम या कम शॉर्टेंड है, और !empty
isset($foo) && $foo
के समान है। अर्थात। empty
isset
की रिवर्स चीज और सत्यता के मूल्य के लिए एक अतिरिक्त जांच करता है।
या दूसरे शब्दों में, empty
!$foo
जैसा ही है, लेकिन यदि चर मौजूद नहीं है तो चेतावनियां नहीं फेंकती हैं। यह इस फ़ंक्शन का मुख्य बिंदु है: चर के सेट के बारे में चिंता किए बिना बुलियन तुलना करें।
The manual इस तरह कहते हैं:
empty()
सिवाय इसके कि कोई चेतावनी उत्पन्न होता है जब चर सेट नहीं है(boolean) var
, के विपरीत है।
आप यहां !empty($vars[1])
का उपयोग कर सकते हैं।
isset()
परीक्षण करता है, तो एक चर सेट कर दिया जाता है और बातिल:
http://us.php.net/manual/en/function.isset.php
empty()
सच लौट सकते हैं जब चर निश्चित मूल्यों के लिए सेट है:
http://us.php.net/manual/en/function.empty.php
करने के लिए इसे प्रदर्शित करें, $ the_var असाइन किए गए के साथ निम्न कोड आज़माएं, सेट करें 0, और 1. करने के लिए सेट
<?php
#$the_var = 0;
if (isset($the_var)) {
echo "set";
} else {
echo "not set";
}
echo "\n";
if (empty($the_var)) {
echo "empty";
} else {
echo "not empty";
}
?>
खाली बस की जांच भेजा चर/सरणी अगर आप की जाँच php doc(empty) आप इस बातें emtpy माना जाता है देखेंगे एक मूल्य है
* "" (an empty string) * 0 (0 as an integer) * "0" (0 as a string) * NULL * FALSE * array() (an empty array) * var $var; (a variable declared, but without a value in a class)
जारी करने के दौरान जांच करें कि क्या परिवर्तनीय जारीकर्ता और शून्य नहीं है जो php doc(isset)
"खाली": केवल चर पर काम करता है। रिक्त विभिन्न भिन्न प्रकारों के लिए अलग-अलग चीजों का मतलब हो सकता है (मैन्युअल जांचें: http://php.net/manual/en/function.empty.php)।
"जारीकर्ता": जांच करता है कि चर मौजूद है या सही या गलत मान के लिए जांच करता है। "अनसेट" कॉल करके अनसेट किया जा सकता है। एक बार फिर, मैनुअल की जांच करें।
किसी एक का उपयोग आप जिस वैरिएबल प्रकार का उपयोग कर रहे हैं उसके निर्भर करता है।
मैं कहूंगा, दोनों के लिए जांच करना सुरक्षित है, क्योंकि यदि आप चर मौजूद हैं तो आप सबसे पहले जांच कर रहे हैं, और यदि यह वास्तव में शून्य या खाली नहीं है।
$a = 0;
if (isset($a)) { //$a is set because it has some value ,eg:0
echo '$a has value';
}
if (!empty($a)) { //$a is empty because it has value 0
echo '$a is not empty';
} else {
echo '$a is empty';
}
लेकिन आपने वेरिएबल सेट सेट केस को संभाला नहीं है। –
अगर हम के माध्यम से की तरह
नीचे<input type="hidden" value="<?echo $_GET['edit_id'];?>" name="edit_id">
तो हम उपयोग नहीं करना चाहिए
isset($_POST['edit_id'])
edit_id
bcoz हर समय यह है कि क्या सेट किया गया है/संपादन जोड़ने के बटन प्रस्तुत करने के लिए एक ही पृष्ठ का उपयोग पृष्ठ जोड़ें या संपादित करें, इसके बजाय हमें नीचे की स्थिति का उपयोग करना चाहिए
!empty($_POST['edit_id'])
पिछली पोस्ट bcoz सबमिट की गई थी, मैं गलती से एंटर दबाता हूं, मेरा पूरा जवाब है ... क्यों डाउनवोट? :( – diEcho
यह आवश्यक नहीं है।
परिवर्तक मौजूद नहीं होने पर कोई चेतावनी उत्पन्न नहीं होती है। इसका मतलब है खाली() अनिवार्य रूप से संक्षेप में संक्षिप्त है! जारीकर्ता ($ var) || $ var == झूठी।
स्वीकार किए जाते हैं जवाब सही नहीं है।
जारीकर्ता() के बराबर नहीं है! खाली()।
यदि आप इस मार्ग पर जाते हैं तो आप कुछ अप्रिय और बग डीबग करने के लिए कड़ी मेहनत करेंगे। जैसे इस कोड को चलाने का प्रयास करें:
<?php
$s = '';
print "isset: '" . isset($s) . "'. ";
print "!empty: '" . !empty($s) . "'";
?>
कैसे कि
function IsEmpty($myVar){
if(isset($myVar) && (!empty($myVar) OR $myVar === 0 OR $myVar === false) ){
return false;
} else{
return true;
}
}
$myVar = 0; // Set and Not Empty
$myVar = true; // Set and Not Empty
$myVar = false; // Set and Not Empty
$myVar = ''; // Either Not Set or Empty
$myVar = 'abc'; // Set and Not Empty
if(!IsEmpty($myVar)){
echo 'Set and Not Empty';
} else{
echo 'Either Not Set or Empty';
}
डेमो के बारे में: http://sandbox.onlinephpfunctions.com/code/7131f142742f0765c2619841bb9abfa598bcf066
उन्हें चर के विभिन्न प्रकार के साथ प्रयोग के परिणामों पर एक अच्छा चार्ट नहीं है (उनके पास मतभेद हैं) यहां: https://www.virendrachandak.com/demos/php-isset-vs-empty-vs-is_null.php –
स्पष्ट सटीक पूरक हैं सेट और is_null, लेकिन! खाली कुछ अलग कवर शामिल हैं। यह सब उस डेटा के प्रकार पर निर्भर करता है जिसके लिए आप परीक्षण कर रहे हैं। –