PHP में चर नाम से पहले 'At' प्रतीक: @ $_POST




error-handling operators (4)

यदि $ _POST ['कुछ'] को परिभाषित नहीं किया जाता है तो यह चेतावनी को दबा देता है।

मैंने चेताया है कि चेतावनियों को चेतावनी के साथ बंद करने के लिए एक प्रतीक के साथ पूर्ववर्ती कॉल। आज मैं कुछ कोड को कम कर रहा था और यह पाया:

$hn = @$_POST['hn'];

यहाँ क्या अच्छा होगा?


@ PHP में त्रुटि दमन ऑपरेटर है।

PHP एक त्रुटि नियंत्रण ऑपरेटर का समर्थन करता है: साइन (@) पर। जब PHP में एक अभिव्यक्ति को प्रस्तुत किया जाता है, तो उस त्रुटि द्वारा उत्पन्न होने वाले किसी भी त्रुटि संदेश को अनदेखा किया जाएगा।

देख:

अद्यतन करें:

आपके उदाहरण में , इसका उपयोग चर नाम से पहले E_NOTICE त्रुटि से बचने के लिए किया E_NOTICE । यदि $_POST सरणी में, hn कुंजी सेट नहीं है; यह E_NOTICE संदेश को फेंक देगा, लेकिन @ का उपयोग उस E_NOTICE से बचने के लिए किया जाता है।

ध्यान दें कि आप E_NOTICE त्रुटि से बचने के लिए इस लाइन को अपनी स्क्रिप्ट के ऊपर रख सकते हैं:

error_reporting(E_ALL ^ E_NOTICE);

यदि $ _POST ['hn]] सेट नहीं है तो यह चेतावनी नहीं देगा।


इसका मतलब यह है कि, अगर $ _POST ['hn'] को परिभाषित नहीं किया जाता है, तो त्रुटि या चेतावनी को फेंकने के बजाय, PHP केवल NULL को $ hn प्रदान करेगी।





operators