2009-07-29 12 views
16

बिल्कुल स्पष्ट सवाल वास्तव में ..PHP - दो एरे (समान लंबाई) को एक सहयोगी में मर्ज करें?

यह पीएचपी एक साहचर्य सरणी जहां पहली सरणी के मूल्यों साहचर्य सरणी में कुंजी के रूप में उपयोग किया जाता है के लिए एक ही लंबाई के दो अलग सरणियों गठबंधन करने के लिए संभव है?

मैं यह कर सकता हूं, लेकिन मैं एक और (अंतर्निर्मित) फ़ंक्शन, या अधिक कुशल समाधान ढूंढ रहा हूं ..?

function Combine($array1, $array2) { 
    if(count($array1) == count($array2)) { 
     $assArray = array(); 
     for($i=0;$i<count($array1);$i++) { 
      $assArray[$array1[$i]] = $array2[$i]; 
     } 
     return $assArray; 
    } 
} 
+2

"गधा सरणी", निश्चित रूप से एक आसान नाम याद करने के लिए। ;) –

उत्तर

4

वहां पहले से ही एक array_combine function है:

$combined = array_combine($keys, $values); 
+0

लेकिन सरणी गठबंधन नल मानों को एक नई सरणी में नहीं लेते हैं। :( – gumuruh

+0

@ गुमुरुह क्या आप उस पर विस्तार कर सकते हैं? – Gumbo

7

आप array_combine की जरूरत है।

<?php 
$a = array('green', 'red', 'yellow'); 
$b = array('avocado', 'apple', 'banana'); 
$c = array_combine($a, $b); 

print_r($c); 
?> 
2

को नमस्कार मैं हम 2 सरणियों है एक सरणी

में 2 सरणियों मर्ज करने के लिए कैसे और मैं उन लोगों से एक सरणी कर देगा आपको बताएंगे कि

$data_key = array('key1','key2'); 
$data_value = array('val1','val2'); 

की सुविधा देता है मुख्य घोषित सरणी

$main_array = array(); 

अब इसे वें भरें ई 2 सरणियों

foreach ($data_key as $i => $key) { 
     $main_array[$key] = $data_value[$i]; 
} 

अब के परिणाम देखते हैं var_dump($main_array);

array(2) { 
["key1"]=> string(4) "val1" 
["key2"]=> string(4) "val2" 
} 

का उपयोग करके मैं आशा करता हूँ कि मदद कर सकता है किसी को :)

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