java - Are PHP Arrays Consecutive Pieces of Memory? -


जावा में एक सरणी है:

  int [] myArray = new int [3] ; मेरी ऐरे [0] = 0; मेरीअरे [1] = 1; मेरीअरे [2] = 2;   

पहली पंक्ति तुरंत मेमोरी के लगातार 3 ब्लॉक ब्लॉक करती है। एक चौथा तत्व बनाने के लिए वास्तव में int [4] के साथ एक नई सरणी बनाने की आवश्यकता होती है, और फिर मानों को 0 से 2 तक नए सरणी में स्थानांतरित करना होता है। जैसे कि निम्नलिखित:

  int [] mySecondArray = नया इंट [4]; के लिए (इंट I = 0; i & lt; myArray.length; i + = 1) {mySecondArray [i] = myArray [i]; } MySecondArray [3] = 3;   

लेकिन PHP में, हम एक सरणी को घोषित कर सकते हैं, और जावा के लिए आवश्यक सभी उपद्रव के बिना केवल एक और तत्व जोड़ सकते हैं।

  $ my_array = सरणी (0, 1, 2); $ My_array [] = 4;   

क्या PHP वास्तव में मौजूदा तत्व पर एक अतिरिक्त तत्व को धकेलने के बाद एक नई सरणी बनाने का ध्यान रखता है? या क्या PHP सरणियों वास्तव में समान नहीं हैं (स्मृति के संदर्भ में) सी और जावा जैसी भाषाओं में सरणी के रूप में? मैं थोड़ा चिंतित हूं, क्योंकि मुझे बहुत सी PHP कोड दिखाई देता है जो एक लूप के माध्यम से चलता है और एक मौजूदा सरणी पर 50 + नए तत्व जोड़ता है, जो जावा में पूरी तरह से हास्यास्पद होगा।

या PHP सरणियों वास्तव में एक ही नहीं हैं (स्मृति के मामले में) भाषाओं में सरणियों के रूप में जैसे कि सी और जावा?

PHP सरणियों में वास्तव में हैश टेबल हैं हालांकि, स्मृति प्रबंधन शायद ही तुलनीय है, क्योंकि वे दो पूरी तरह से अलग-अलग भाषा हैं।

Comments