उत्तर
निम्नलिखित बराबर कर रहे हैं और एक दो आयामी सरणी में परिणाम:
$array = array(
array(0, 1, 2),
array(3, 4, 5),
);
या
$array = array();
$array[] = array(0, 1, 2);
$array[] = array(3, 4, 5);
या बड़े विन्यास के लिए, समान मूल्य वाली सभी:
$m_by_n_array = array_fill(0, $n, array_fill(0, $m, $value);
$m
$n
सरणी द्वारा $value
पर सेट की गई सभी चीज़ों के साथ $m
बनाएगा।
आप सरणी के सूचकांक को निर्दिष्ट करके एक एसोसिएटिव सरणी, या "हैश-टेबल" सरणी भी बना सकते हैं।
$array = array(
0 => array(
'name' => 'John Doe',
'email' => '[email protected]'
),
1 => array(
'name' => 'Jane Doe',
'email' => '[email protected]'
),
);
कौन सा
$array = array();
$array[0] = array();
$array[0]['name'] = 'John Doe';
$array[0]['email'] = '[email protected]';
$array[1] = array();
$array[1]['name'] = 'Jane Doe';
$array[1]['email'] = '[email protected]';
लूपिंग कथन का उपयोग करके हम यह वही सरणी कैसे बना सकते हैं? –
@ अनूप-पीट दूसरे स्निपेट में दो दोहराने वाले ब्लॉक लूप में रखे जाएंगे और न्यूमेरिक इंडेक्स को वेरिएबल द्वारा प्रतिस्थापित किया जाएगा जो प्रत्येक पुनरावृत्ति को बढ़ाया जाता है। – Atli
धन्यवाद @ एटली ... –
सबसे पहले के बराबर है, पीएचपी बहुआयामी सरणियों नहीं है, यह सरणियों के सरणियों है।
function declare($m, $n, $value = 0) {
return array_fill(0, $m, array_fill(0, $n, $value));
}
बस की घोषणा:
दूसरे, आप एक समारोह है कि यह करना होगा लिख सकते हैं? आपको नहीं करना है बस ध्यान रखें कि चर मौजूद है:
$d = array();
सरणी गतिशील आकार दिया जाता है, और कुछ भी लिखने के लिए प्रयास गैर exsistant तत्व यह बनाता है (और पूरे सरणी अगर जरूरत पैदा करता है)
$d[1][2] = 3;
यह किसी भी के लिए मान्य है पूर्व घोषणाओं के बिना आयामों की संख्या।
इसके अलावा जो आपको आयामों के बारे में कुछ नहीं बताता है। यदि आप एम एक्स एन 2 डी सरणी घोषित कर रहे हैं, संभावना है कि यह एक मैट्रिक्स है और यदि यह एक मैट्रिक्स संभावना है तो आप गुणा कर रहे होंगे या उस पर कुछ ऐसा करेंगे जो तत्वों पर पुनरावृत्ति की आवश्यकता होगी, जो आप नहीं कर सकते हैं "स्पैस" और आयामों को नहीं जानते। – cletus
@ कैलेटस: आप दाएं आयाम पर 'गिनती' का उपयोग कर सकते हैं, उदाहरण के लिए 'गिनती ($ डी [1]) ', जब तक कि मैं आपके बिंदु को गलत समझ नहीं रहा हूं? – DisgruntledGoat
फिर भी, PHP में बहु-आयामी सरणी नहीं हैं। संभावना हमेशा बाहर निकल जाएगी कि सरणी की एक सरणी स्पैस हो सकती है।तो, एक वर्ग बनाने के बारे में जो सरणी का उपयोग करके मैट्रिक्स लागू करता है, कम से कम आप उचित कार्यान्वयन की अधिक देखभाल करेंगे। – Don
एक साधारण के लिए, "को भरने के रूप में तुम जाओ" समाधान की तरह:
$foo = array(array());
यह आपको एक लचीला छद्म दो आयामी सरणी कि पकड़ कर सकते हैं $ foo [n] [n मिल जाएगा] जहां एन < = ∞ (निश्चित रूप से आप स्मृति आकार की सामान्य बाधाओं से सीमित हैं, लेकिन आपको आशा है कि मुझे आशा है)। सिद्धांत रूप में, आपको जितनी आवश्यकता हो उतनी उप-सारणी बनाने के लिए बढ़ाया जा सकता है।
जहां तक मुझे पता है कि ऐसा करने के लिए php फ़ंक्शन में कोई अंतर्निहित नहीं है, आपको इसे लूप के माध्यम से या एक कस्टम विधि के माध्यम से करने की आवश्यकता है जो @Amber द्वारा उत्तर में array_fill inidcated जैसे कुछ को कॉल करता है;
मुझे लगता है कि आप का मतलब है कि एक खाली लेकिन अंतर्निहित सरणी सरणी बनाई गई है।उदाहरण के लिए, आप 3 सरणियों के सरणी के नीचे की तरह एक अंतिम परिणाम हैं:
$final_array = array(array(), array(), array());
यह सिर्फ हाथ कोड के लिए सरल है, लेकिन एक तरह एक मनमाना आकार सरणी के लिए के 3 सरणियों के एक सरणी 3 सरणियों इसका इस्तेमाल करने से पहले प्रारंभ करने में जटिल हो रही शुरू होता है:
$final_array = array(array(array(), array(), array()), array(array(), array(), array()), array(array(), array(), array()));
... आदि ...
मैं हताशा मिलता है। त्रुटियों की जांच या फेंकने के बिना उपयोग करने के लिए किसी गहराई के प्रारंभिक सरणी को घोषित करने का एक आसान तरीका होना अच्छा होगा।
और मेरे लिए तर्क है कि कोई सरणी स्पैस होनी चाहिए या नहीं, संदर्भ पर निर्भर करता है।
उदाहरण के लिए, $ अगर एक [6] [9] तैयार नहीं हुआ है $ के बराबर एक [6] [9] के साथ उदाहरण के लिए "के साथ" या 0.
$r = array("arr1","arr2");
को डाला जा रहा है एक एकल सरणी तत्व गूंज आप लिखना चाहिए:
echo $r[0];
echo $r[1];
उत्पादन होगा: arr1 arr2
- 1. PHP दो बहु-आयामी सरणी
- 2. मैं जावास्क्रिप्ट में दो आयामी सरणी कैसे घोषित करूं?
- 3. दो आयामी सरणी (वाई अक्ष)
- 4. बहु आयामी सरणी php
- 5. उद्देश्य-सी में स्ट्रिंग प्रकार की दो आयामी सरणी कैसे घोषित करें?
- 6. प्रोग्रामिंग के दो आयामी सरणी में मान कैसे सम्मिलित करें?
- 7. दो आयामी सरणी और संकेत
- 8. जावा - प्रिंटिंग दो आयामी सरणी
- 9. रेल 3 में दो आयामी सरणी की सरणी से रिकॉर्ड कैसे प्राप्त करें?
- 10. ** सूचक के लिए दो आयामी सरणी कैसे असाइन करें?
- 11. PHP में सबरेरे को आसानी से कैसे मर्ज करें?
- 12. एक क्रमबद्ध दो आयामी numpy सरणी
- 13. मैं किसी भी दिशा में दो आयामी सरणी कैसे खोजूं
- 14. PHP सरणी - नेस्टेड बहुआयामी सरणी में 1-आयामी सरणी कैसे करें?
- 15. दो आयामी सरणी का उपयोग कर टेम्पलेट्स
- 16. मैं सबसे संक्षिप्त पायथन में बहु-आयामी सरणी कैसे जोड़ूं?
- 17. पर्ल 2-आयामी सरणी कैसे मुद्रित करें?
- 18. PHP - किसी अन्य सरणी द्वारा क्रमबद्ध बहु-आयामी सरणी
- 19. एक 1 आयामी सरणी में बहु आयामी सरणी
- 20. एक बहु-आयामी सरणी
- 21. जो दो आयामी सरणी के subarrays से "कॉलम" निकालें
- 22. 2 आयामी सरणी
- 23. स्कैला में बहु-आयामी सरणी कैसे बनाएं और उपयोग करें?
- 24. जावास्क्रिप्ट के साथ सरणी को आसानी से कैसे छोटा करें?
- 25. पाइथन (दो-आयामी)
- 26. बहु-आयामी सरणी बनाम एक आयामी
- 27. 2 आयामी सरणी सूची
- 28. सी # में एक आयताकार सरणी से एक-आयामी सरणी निकालने का सबसे अच्छा तरीका क्या है?
- 29. सरणी बनाम बहु-आयामी सरणी
- 30. जावा स्क्रिप्ट में निम्न मल्टी-आयामी सरणी कैसे मुद्रित करें?
उन दो आयामी सरणी में परिणाम नहीं, बल्कि सरणियों की एक सरणी में परिणाम। – dotancohen
@ डॉटनकोहेन यह वास्तव में अर्थशास्त्र है, वास्तव में। व्यावहारिक रूप से दो अवधारणाएं समान हैं। वहां क्या दिखाया गया है और सी # जैसी भाषाओं में उपयोग किए जाने वाले बहु-आयामी सरणी के बीच एकमात्र अंतर वाक्यविन्यास है। और उस पर वाक्यविन्यास में काफी अंतर है। – Atli
सी # में कम से कम, स्मृति आवश्यकताओं अलग हैं। सरणी की एक सरणी प्रत्येक सरणी के लिए आवश्यक स्मृति की मात्रा आवंटित करती है। एक द्वि-आयामी सरणी स्मृति के पूरे एन * एम आवंटित करता है। – dotancohen