मैं सिर्फ पीएचपी डॉक्स में Expressions पर पेज पढ़ा है, और सही शीर्ष पर यह कहते हैं:क्या यह विशेष उपचार है और PHP में दस्तावेज डाला गया है?
सरल अभी तक सबसे सटीक अभिव्यक्ति परिभाषित करने के लिए जिस तरह से "कुछ भी अपना महत्व होता है कि" है।
उस सरल परिभाषा में सभी कार्यों और अधिकांश भाषा संरचनाएं शामिल हैं, हालांकि कुछ भाषा संरचनाएं स्पष्ट रूप से बताती हैं कि वे एक मूल्य वापस नहीं करते हैं।
- empty
- eval
- include
- include_once
- isset
- list 0123:
- return
- unset
- __halt_compiler
यहाँ कि कोई मान है भाषा निर्माणों की एक सूची है
यहाँ दिलचस्प कुछ जो कोई मान नहीं है भाव रहे हैं, और इसलिए नहीं
मैं die
और विशेष रुचि के exit
मिल जाए, क्योंकि वे कोई वापसी मान होने के बावजूद PHP में अभिव्यक्ति के रूप में इस्तेमाल किया जा सकता। कोड की निम्न लाइनों सब एक सिंटैक्स त्रुटि फेंक, के रूप में उम्मीद:
echo 'Hi' or echo 'Bye';
if(echo('foo'))
return return(1);
$foo['bar'] = isset($foo['bar']) ? unset($foo['bar']) : 0;
if(unset($foo['bar']))
__halt_compiler() or die;
हालांकि निम्नलिखित PHP कोड वाक्यविन्यास त्रुटियों की पूरी तरह से मुक्त है:
print 'Hi' or print 'Bye'; // Makes sense, print returns a value
if(!die() and exit) // Wait what's happening here?
quit(die(exit(quit()))); // die and exit don't have return values (does quit?)
$x = true ? die/2 : 5*exit();
$y = pow(die,7);
isset($_GET['bar']) or die(); // This one is actually pretty commonly used.
function quit(){
return exit;
}
मैं PHP डॉक्स के माध्यम से देखा और कर सकते हैं किया है मरने() और बाहर निकलने के इस विशेष उपचार का कोई उल्लेख नहीं मिला()। क्या किसी भी PHP विशेषज्ञों को पता है कि यह कहीं भी दस्तावेज है या नहीं। क्या यह इरादा व्यवहार है, और isset($_GET['bar']) or die();
पैटर्न उपयोग करने के लिए सुरक्षित है; क्या यह अचानक PHP के भविष्य के संस्करण में टूट सकता है? के बाद से क्रियान्वयन से पहले यह दिया जाता है रुका है
क्या यह सिर्फ अर्थशास्त्र का मामला नहीं है? क्या यह है कि 'मरें()'/'निकास() के पास वापसी मूल्य नहीं है * क्योंकि वे कभी वापस नहीं आते हैं? ऐसा नहीं है कि वे * वाक्य रचनात्मक रूप से * अभिव्यक्ति नहीं हैं, लेकिन रनटाइम पर आपको कभी भी वापसी मूल्य नहीं दिखाई देगा क्योंकि आपके प्रोग्राम को इसका उपयोग करने का मौका कभी नहीं मिलता है। –
उपयोग करने के लिए सुरक्षित है? हाँ। उदाहरण के मुताबिक मुहावरे पूरे मैनुअल में बिखरे हुए हैं। वे इस पर वापस नहीं आ सके। इसके अलावा, आंतरिक सूची में, वे हमेशा बात करते हैं कि इसे बनाने से पहले जंगली में कितनी स्क्रिप्ट टूट जाएंगी, और यह टूट जाएगा ... मैं सभी php स्क्रिप्ट्स का 1/3 अनुमान लगा रहा हूं? लॉल – goat