2010-03-05 13 views
6

बस बहुत बड़े PHP चर की प्रतिलिपि बनाने के प्रदर्शन प्रभाव के बारे में सोच रहा है। उदाहरण के लिए कहें $ एआर एक विशाल सरणी है। अगर मैं $ arr2 = $ arr करता हूं, तो क्या यह एक गहरी प्रति है या $ arr2 केवल $ arr के लिए एक सूचक है जैसे जावा में है? अग्रिम में धन्यवाद।PHP चर के प्रतिलिपि बनाने का प्रदर्शन प्रभाव

+1

* (संदर्भ) * कॉपी PHP भाषा में लिखें पर: http://www.research.ibm.com/trl/people/mich/pub/200901_popl2009phpsem.pdf – Gordon

उत्तर

6

$arr2 = $arr एक गहरी प्रति बनाता है। लेकिन वास्तविक प्रतिलिपि केवल तब होती है जब $ arr2 संशोधित होता है - PHP प्रतिलिपि लिखता है।

यदि आप प्रतिलिपि के बजाय "पॉइंटर" चाहते हैं, तो $arr2 =& $arr का उपयोग करें, जो $ arr2 $ arr का संदर्भ देता है।

1

यदि आप $ arr2 = & $ arr का उपयोग करते हैं;

यह $ arr का संदर्भ देगा।

1

PHP में सामान्य नियम संदर्भ नहीं बनाते हैं जब तक कि आपको उनके द्वारा प्रदान की जाने वाली कार्यक्षमता की आवश्यकता न हो। संदर्भ केवल कोड धीमा कर देगा अन्यथा।

http://www.php.net/manual/en/language.references.php

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