जब एक अनुक्रमित सरणीपीएचपी एक एसोसिएटिव सरणी में ऑर्डर का ट्रैक कैसे रखता है?
$array[] = 'new value';
पर एक नया मान धक्का पीएचपी प्रलेखन बताते हैं कि यह कैसे [MAX_INDEX + 1] की स्थिति में जोड़ा जाता है।
जब एक साहचर्य सरणी
$array['key'] = 'new value';
यह एक ही काम करता है, लेकिन मैं दस्तावेज में कोई स्पष्टीकरण नहीं दिख रहा है इस बात की पुष्टि करने के लिए कैसे या क्यों यह ऐसा नहीं करता है पर एक नया मान धक्का। यह आदेश मेरे कार्यान्वयन में सुसंगत प्रतीत होता है, लेकिन मुझे यह सुनिश्चित करने के लिए कैसे पता चलेगा कि आदेश वही रहेगा? क्या किसी को पता है कि बैक एंड पर PHP कैसे लागू करता है?
मेरा मानना है कि कार्यान्वयन विवरण [zend_hash.c] (में http://svn.php.net/viewvc/php/php पाया जा सकता है "सब कुछ एक HashTable है" -src/ट्रंक/Zend/zend_hash.c? दृश्य = मार्कअप)। मुझे लगता है कि इंडेक्स अलग रखा गया है, और '-> PInternalPointer' अंतिम दिखाता है। – mario
वे शायद सिर्फ लिंक किए गए हैश मैप्स हैं। लिंकिंग हैशिंग के बावजूद आदेश प्रदान करता है। –
महान जवाब! मुझे इसकी ही खोज थी! :-) –