2009-07-29 26 views
16

câu hỏi khá đơn giản thực sự ..PHP - Hợp nhất hai mảng (cùng độ dài) thành một liên kết?

là nó có thể trong PHP để kết hợp hai mảng riêng biệt của cùng độ dài để một mảng kết hợp các giá trị của mảng đầu tiên được sử dụng như phím trong mảng kết hợp?

Tôi có thể làm điều này, nhưng tôi đang tìm một hàm (tích hợp) khác hoặc giải pháp hiệu quả hơn ..?

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

"ass mảng", chắc chắn một cách dễ dàng để nhớ tên. ;) –

Trả lời

4

Có đã là một array_combine function:

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

nhưng mảng kết hợp dos không có giá trị null vào một mảng mới. :( – gumuruh

+0

@gumuruh Bạn có thể giải thích về điều đó không? – Gumbo

7

bạn cần array_combine.

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

print_r($c); 
?> 
2

hello everybody tôi sẽ chỉ cho bạn làm thế nào để kết hợp 2 mảng trong một mảng

chúng tôi có 2 mảng và tôi sẽ làm cho một mảng từ họ

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

cho phép khai báo chính mảng

$main_array = array(); 

bây giờ hãy điền nó với thứ e 2 mảng

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

bây giờ hãy xem kết quả bằng cách sử dụng var_dump($main_array);

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

tôi hy vọng rằng có thể giúp một ai đó :)

Các vấn đề liên quan