2009-05-21 17 views
5

PHP में die() देता है जब हम इसका उपयोग करते हैं तो बदले में कुछ भी देता है?PHP मर जाता है()

+0

किस भाषा में? – kquinn

+0

मुझे php पर संदेह है, क्योंकि इसमें यह फ़ंक्शन है, जो बाहर निकलने के लिए उपनाम है()। मुझे यह भी संदेह है कि यह कुछ भी वापस नहीं करेगा, क्योंकि यह स्क्रिप्ट से बाहर निकलता है, लेकिन चूंकि मैं कोई PHP प्रोग्रामर नहीं हूं, इसलिए मैं यह टिप्पणी जोड़ रहा हूं। –

+2

यह कुछ भी नहीं देता है। लेकिन अगर यह कुछ लौटाता है, तो कुछ भी अभी भी कुछ भी नहीं किया जा सकता है, क्योंकि स्क्रिप्ट छोड़ रही है। – andyk

उत्तर

22

PHP में फ़ंक्शन मर जाता है() बस स्क्रिप्ट को चलाने से बाहर निकलें और तर्क को प्रिंट करें (यदि कोई है)।

http://php.net/die

+4

यह काफी सटीक नहीं है।यदि मर() को पूर्णांक तर्क के साथ बुलाया जाता है, तो वह उस मान को वापस कर देता है। एक वेब संदर्भ में, इसका मतलब अधिक नहीं हो सकता है। एक सीएलआई PHP स्क्रिप्ट में, वह वापसी मूल्य सार्थक है; यह खोल में उपयोग के लिए उपलब्ध है। –

10

आप PHP के अद्भुत प्रलेखन पर एक नज़र क्यों नहीं है? इसमें die()

+7

गरीब आदमी। बाहर निकलने के लिए उसे * फिर से * क्लिक करना होगा() रिटर्न। स्पोइलर: उत्तर शून्य है – Stephan202

+0

मैंने इसे चेक किया है लेकिन फिर भी वह प्रश्न पूछना चाहता था क्योंकि मुझे बहुत यकीन नहीं था कि जो भी मैंने पढ़ा है वह सच है। – developer

+2

PHP दस्तावेज़ इस तरह की चीजों को देखने के लिए * * स्थान हैं। वहां जानकारी की तुलना में कुछ भी सत्य नहीं हो सकता है, सिवाय इसके कि यह एक प्रलेखन बग है (लेकिन यदि आप * * * सुनिश्चित करना चाहते हैं कि PHP की बग ट्रैकिंग प्रणाली की जांच करें और/या परीक्षण कोड चलाएं)। वैसे: चूंकि मरने() PHP के निष्पादन को समाप्त करता है, यह काफी अप्रासंगिक है, वापसी मूल्य क्या है (क्योंकि कार्यक्रम उस बिंदु पर बंद हो जाता है)। – soulmerge

1

के बारे में जानकारी भी शामिल नहीं है। लिपि समाप्त हो गई है और कुछ भी निष्पादित नहीं किया गया है।

1

वहाँ मरने/बाहर निकलने में कुछ वापस जाने के लिए कोई कारण नहीं है। यह फ़ंक्शन अंदर php दुभाषिया प्रक्रिया को समाप्त करता है और खोलने के लिए निकास-कोड देता है। तो मरने के बाद() कोई स्क्रिप्ट निष्पादन नहीं है जहां तक ​​कोई दुभाषिया प्रक्रिया नहीं है जो स्क्रिप्ट निष्पादित करती है और इसीलिए फ़ंक्शन की वापसी को संभालने का कोई तरीका नहीं है।

8

जाहिर है, die() या इसके समतुल्य exit() स्क्रिप्ट पर कुछ भी वापस न करें; सटीक होना करने के लिए, इस कोड को ज्यादा मतलब नहीं है:

if (die())) { 
    echo 'are we dead yet?'; 
} 

हालांकि, क्या आप die() या exit() की (वैकल्पिक) तर्क के रूप में पारित के आधार पर, यह फोन करने वाले को वापसी कुछ करता है, यानी कमांड जिसने आपकी स्क्रिप्ट को चलाने के लिए प्रेरित किया। इसका व्यावहारिक उपयोग आम तौर पर cli एसएपीआई तक सीमित है, जब आप स्क्रिप्ट को php /path/to/script.php का उपयोग करके कमांड लाइन से कॉल करते हैं।

का निरीक्षण करें:

die('goodbye cruel world'); 

इस कोड goodbye cruel world प्रिंट और फिर वापस जाने के लिए एक 0 की exit status code, फोन करने वाले है कि इस प्रक्रिया सामान्य रूप से समाप्त करने के लिए संकेत है।

एक और उदाहरण:

die(1); 

जब आप एक स्ट्रिंग के बजाय एक पूर्णांक मान पास, कुछ भी नहीं छपा है और बाहर निकलने स्थिति कोड 1 हो जाएगा, फोन करने वाले है कि इस प्रक्रिया सामान्य रूप से समाप्त नहीं किया संकेत है।

आखिरकार, die() बिना किसी तर्क के die(0) जैसा ही है।

किसी प्रक्रिया की निकास स्थिति को विभिन्न प्रकार की त्रुटियों को सिग्नल करने के लिए बदला जा सकता है, उदाहरण के लिए हो सकता है। 1 का मतलब सामान्य त्रुटि है, 2 का अर्थ अवैध उपयोगकर्ता नाम, आदि

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