PHP में संदर्भ असाइनमेंट ऑपरेटर,=&




operators assignment-operator (3)

PHP में =& (बराबर-एम्पर्सेंड) असाइनमेंट ऑपरेटर क्या करता है?

क्या यह बहिष्कृत है?


यह बहिष्कृत नहीं है और होने की संभावना नहीं है। उदाहरण के लिए, मौजूदा डेटा की प्रतिलिपि बनाने के बजाय, एक सरणी या ऑब्जेक्ट दर्पण परिवर्तनों का एक हिस्सा बनाने का मानक तरीका है।

इसे संदर्भ द्वारा असाइनमेंट कहा जाता है, जो मैनुअल को उद्धृत करने के लिए, "इसका मतलब है कि दोनों चर एक ही डेटा पर इंगित करते हैं, और कहीं भी कॉपी नहीं किया जाता है"

एकमात्र चीज जिसे बहिष्कृत किया गया है =& PHP 5 में "संदर्भ द्वारा new के परिणाम को निर्दिष्ट करना" है, जो किसी भी भ्रम का स्रोत हो सकता है। new स्वचालित रूप से संदर्भ द्वारा असाइन किया जाता है, इसलिए $o = &new C; में अनावश्यक / बहिष्कृत किया $o = &new C; , लेकिन $o = &$c;

चूंकि खोजना मुश्किल है, ध्यान दें कि =& ( एम्परसैंड के बराबर ) = & ( स्पेस एम्पर्सेंड के बराबर ) जैसा ही होता है और अक्सर लिखा जाता है कि यह अन्य चर जैसे $x = &$y['z']; में चलता है $x = &$y['z']; या $x = &$someVar ( ampersand डॉलर चिह्न परिवर्तनीय नाम )। उदाहरण दस्तावेज़ों से सरलीकृत:

$a = 3;
$b = &$a;
$a = 4;
print "$b"; // prints 4

यहां PHP मैनुअल में संदर्भ द्वारा असाइन किए गए विस्तृत अनुभाग के लिए एक आसान लिंक है। वह पृष्ठ संदर्भों पर एक श्रृंखला का हिस्सा है - पूरे श्रृंखला को पढ़ने में एक मिनट लगाना उचित है।


यह दो अलग ऑपरेटरों है। = असाइनमेंट है जैसा कि आप शायद जानते हैं। और इसका मतलब है कि वैरिएबल को मूल्य के बजाय संदर्भ द्वारा एक्सेस किया जाना चाहिए।


$x = &$y['z'];

$y['z'] बनाने का प्रभाव भी है यदि यह अस्तित्व में नहीं है, और इसे null सेट कर रहा है।

यह उन त्रुटि संदेशों को रोकता है जिन्हें आप पढ़ना चाहते थे। मुझे अभी तक दस्तावेज नहीं मिला है; संभवतः 5.3 में नया, मुझे पता है कि सभी के लिए।





assignment-operator