2010-10-21 13 views
22

असल में, मैंने लोगों को उनके फ़ंक्शन कॉल से पहले @ का उपयोग करके देखा है, प्रत्येक फ़ंक्शन के लिए नहीं, लेकिन किसी प्रकार के एक्सटेंशन फ़ंक्शंस जैसे file_get_contents(), mysql_connect() और इसी तरह।PHP फ़ंक्शंस और @ फ़ंक्शन

और हां, सवाल यह है कि फ़ंक्शन कॉल से पहले इन @ से क्या उद्देश्य है?

या दूसरे शब्दों में, @file_get_contents() और file_get_contents() के बीच क्या अंतर है?

+1

देखें [? संदर्भ - क्या इस प्रतीक PHP में क्या मतलब है] (http://stackoverflow.com/questions/3737139/reference-what-does-this-symbol-mean -इन-पीएचपी) – Gordon

+0

संभावित डुप्लिकेट [PHP में @ मतलब क्या है?] (http://stackoverflow.com/questions/3621215/what-does-mean-in-php) – Gordon

उत्तर

33

@error control operator है। असल में यह त्रुटियों को दबा रहा है।

+5

@ टॉम मुझे उम्मीद है कि आप समझते हैं यह स्पष्टीकरण कि इस प्रतीक का कभी भी उपयोग नहीं किया जाना चाहिए। –

+0

@Col। Shrapnel संभोग! मैं हमेशा हर त्रुटि में रूचि रखता हूं, इसलिए कम से कम कुछ ठीक करने के लिए है। – jolt

1

फ़ंक्शन के सामने @ प्रतीक फ़ंक्शन कहलाते समय त्रुटियों को प्रदर्शित होने से रोकता है।

+0

http://php.net/manual/en/book.errorfunc.php – Ted

6

यह PHP का error control operator फ़ंक्शन कॉल द्वारा उत्पन्न त्रुटि को दबाने के लिए उपयोग किया जाता है।

2

@ फ़ंक्शन अपने HTML आउटपुट पर कोई त्रुटि संदेश नहीं दिखाता है, जबकि एक नियमित फ़ंक्शन कॉल होगा।

+0

आश्चर्य है कि यह क्यों कम हो गया है। – fabrik

+0

क्या है? मुझे समझ में नहीं आता – SkypeMeSM

+0

@fabrik आपके जैसा ही कारण है। लेकिन जब आपका अस्पष्ट है (केवल "आउटपुट"), यह स्पष्ट रूप से HTML आउटपुट कहता है, जो, ज़ाहिर है, एक बकवास है। त्रुटि नियंत्रण में प्रोग्राम के आउटपुट से कोई लेना देना नहीं है। –

0

मुझे कार्यों के सामने इस्तेमाल @ के बारे में समान संदेह है। इससे बचने के लिए मैंने फ़ंक्शन कॉल से पहले कुछ सत्यापन किया। मेरे उदाहरण है:

if (is_file($filename)) $timestamp = filemtime($filename);

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