2012-09-20 11 views
12

अन्य प्रोग्रामिंग भाषाओं में सरणी की परिभाषा ऐसी चीज है जो समान प्रकार के तत्वों को पकड़ सकती है। उदाहरण के लिए यदि मैं int i[] जैसे कुछ घोषित करता हूं तो यह पूर्णांक स्टोर करेगा, लेकिन PHP में एक सरणी तारों और संख्याओं को एक साथ रखती है।क्या PHP सरणी अलग-अलग प्रकार के आइटम रख सकते हैं?

क्या PHP में इस तरह के सरणी में संख्या/पूर्णांक स्ट्रिंग के रूप में माना जाएगा?

+0

संबंधित http://technosophos.com/content/php-arrays-are-not-arrays –

+1

आप इसे एक शॉट क्यों नहीं देते और हमें बताते हैं? :) (इसके अतिरिक्त, यह एक पीएसई प्रश्न की तुलना में एक SO प्रश्न की तरह दिखता है) – haylem

उत्तर

9

According to the PHP manual आप वास्तव में एक PHP "सरणी" अंदर विषम प्रकार स्टोर कर सकते हैं - उदाहरण के लिए नीचे स्क्रॉल 3.

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

ध्यान रखें कि अलग-अलग टाइप की गई कुंजी के मामले में स्वचालित कास्टिंग शामिल है ताकि आपके मामले में आश्चर्यजनक परिणाम हो। एक स्ट्रिंग में एक वैध दशमलव प्रतिनिधित्व होता है।

+1

आप सही हैं, लेकिन सवाल विभिन्न प्रकार के मूल्यों को संग्रहीत करने के बारे में था, चाबियाँ नहीं। यकीन नहीं है कि यह क्यों कम किया गया था। – phant0m

+0

@ phant0m - मैं वास्तव में पूरी तरह से उदाहरण का शीर्षक चूक गया, मैं उस उदाहरण के दाईं ओर देख रहा था। उत्तर स्पष्ट, धन्यवाद। –

2

PHP सरणी में भी सरणी नहीं हैं, उन्हें हैश-टेबल का आदेश दिया गया है।

+0

अच्छी तरह से आदेश दिया गया हैश-टेबल सहयोगी सरणी हैं, इसलिए PHP arrays _are_ arrays। पता नहीं है कि आपके पास सरणी की परिभाषा क्या है, लेकिन सीमा जो कि सरणी केवल उसी प्रकार की वस्तुओं को पकड़ सकती है, एक भाषा सीमा है, एक वैचारिक नहीं। – yannis

+3

@YannisRizos मेरा सुझाव है कि आप यह पोस्ट देखने के लिए पढ़ लें कि क्यों लोग असली एरे के रूप में php arrays पर विचार नहीं करते हैं http://technosophos.com/content/php-arrays-are-not-arrays यह केवल प्रकार के बारे में नहीं है, यह भी है ऑर्डरिंग (PHP में असीमित) –

+0

कोई सरणी नहीं है, जहां सभी मान एक ही आकार के हैं और स्मृति में एक के बाद एक का आदेश दिया गया है? आप जो रेफरिंग कर रहे हैं वह मुझे एक शब्दकोश/मानचित्र जैसा लगता है। एकमात्र चीज जो मुझे पता है, वह वास्तविक सरणी के साथ सहयोगी सरणी आम हैं, नाम का एक हिस्सा है। –

0

आप किसी भी सरणी में जो भी चाहते हैं उसे स्टोर कर सकते हैं।

संख्या/पूर्णांक PHP में सरणी के इस प्रकार में स्ट्रिंग के रूप में इलाज किया जाएगा?

इसे संग्रहीत करने पर नहीं। हालांकि, जब आप इस तरह के मान का उपयोग करते हैं, तो PHP इसे परिवर्तित करेगा। एक मूल्य का उपयोग इसकी व्याख्या निर्धारित करता है। यहाँ (ध्यान, कुंजी भंडारण तथापि, पर, बदल जाती है अगर यह संख्यात्मक माना जाता है)

1

नहीं पीएचपी सरणियों की आग पर तेल डाल करने के लिए जा रहा हैं कोई सरणियों ... लेकिन हाँ, आप अलग अलग वैरिएबल प्रकार डाल सकते हैं (स्ट्रिंग, int, ...) एक साथ PHP नामक एकरे में कहा जाता है।

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