PHP पहले से ही एक कॉपी-ऑन-राइट बात करता है जहां यह एक नया मान पैदा नहीं करता है जिससे आप कुछ बदल सकते हैं, इसलिए संदर्भों का उपयोग करके बहुत अधिक मेमोरी नहीं बचती है। ऐसा करना कुछ सामानों के साथ गड़बड़ भी कर सकता है PHP आंतरिक रूप से मेमोरी उपयोग को कम करने के लिए करता है, जिससे चीजें और भी बदतर हो जाती हैं।
इस तथ्य को जोड़ें कि संदर्भ चीजों को सामान्य रूप से थोड़ा जादुई बनाते हैं। डिफ़ॉल्ट, और इस प्रकार अधिकांश लोग जो उम्मीद करते हैं, वह पास-बाय-वैल्यू है; जब मैं $i
किसी फ़ंक्शन में जाता हूं , तो यह ध्यान रखने के लिए चीजों को बहुत अधिक जटिल कर देता है कि क्या यह फ़ंक्शन रहस्यमय तरीके $i
से पूरी तरह से किसी और चीज़ में बदल जाता है, और इस प्रकार केवल रक्षात्मक प्रतियां बनाता है। (यह पहले से ही संशोधित कर सकता है $i
अगर मूल्य एक वस्तु है, लेकिन मेरी राय में यह नहीं होना चाहिए।)
मूल रूप से, मैं केवल पास-दर-संदर्भ "बाहर" पैरामीटर के लिए उपयोगी पाते हैं, चर मैं करने की उम्मीद है, जिसका अर्थ है वापस पाने के समारोह के बजाय में पास, एक ला से preg_match
की &$matches
। यहां तक कि उन कार्यों के लिए भी, जो स्पष्ट रूप से पास की जा रही वस्तु को संशोधित करते हैं, जैसे sort
या array_pop
, कि थोड़ा icky लगता है ... लेकिन यही हम साथ फंस गए हैं।