2013-01-02 16 views
21

मुझे एक सरणी को 2 अलग-अलग सरणी में विभाजित या विभाजित करने में सहायता करें।php का उपयोग करके सरणी को 2 में विभाजित/विभाजित कैसे करें?

$pieces = array_chunk($array, ceil(count($array)/2)); 

आप उन्हें अलग-अलग वैरिएबल में चाहते हैं (: यहाँ मेरी एकल सरणी

$array = array("1","2","3","4","5","6"); 

मैं की तरह नीचे

$array1 = array("1","2","3"); 

$array2 = array("4","5","6"); 
+1

नमस्कार! एसओ में आपका स्वागत है यदि आप यहां एक प्रश्न पोस्ट करते हैं, तो यहां उत्तर देने की उम्मीद है। धन्यवाद –

उत्तर

46

उपयोग array_chunk दो सरणी में ऊपर सरणी चाहते है एक बहु-आयामी सरणी के बजाय), list का उपयोग करें:

list($array1, $array2) = array_chunk($array, ceil(count($array)/2)); 
17

array_slice काम करता है और साथ ही लंबे समय तक जैसा कि आप जानते हैं कि कितने तत्वों आप प्रत्येक सरणी में हैं:

$array1 = array_slice($array, 0, 3); 
$array2 = array_slice($array, 3, 3); 
+0

धन्यवाद, मेरे लिए अधिक उपयुक्त है क्योंकि मुझे एक विशेष इंडेक्स पर विभाजित करने के लिए मेरी सरणी की आवश्यकता है और 2 से अधिक हिस्सों में नहीं –

0

नहीं array_size/2 है कि आप एक सूचकांक सीमांकक के साथ दो उप सरणी में एक सरणी विभाजित करने के लिए चाहते हैं , आप ऐसा समारोह array_slice उपयोग कर सकते हैं:

:

$init_array = array("foo", "bar", "toto"); 
$index = 1; 
$array_1 = array_slice($init_array, 0, $index); 
$array_2 = array_slice($init_array, $index); 

परिणाम मुद्रित करने के लिए

उत्पादन:

Array([0] => foo [1] => bar [2] => toto) 
Array([0] => foo) 
Array([0] => bar [1] => toto) 
+0

यह अच्छा है, लेकिन ओपी द्वारा प्रदान किए गए विशिष्ट उदाहरण को संबोधित करने के बारे में कैसे? – sorak

+0

ओपी ने यह निर्दिष्ट नहीं किया कि सरणी को आधे आकार में विभाजित किया जाना था। मेरा उदाहरण एक ऐसे मामले का उपयोग करता है जहां सीमांकन सरणी के आधे आकार के अनुरूप नहीं है। –

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

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