2011-12-13 86 views
1
$array1 = array([0] => 2 [1] => 3 [2] => 5 [3] => 6 [4] => 7 [5] => 8 [6] => 9) ; 

$array2 = array(([0] => Array (...) [1] => Array (...) [2] => Array (...) ... [6] => Array (...)); 

它們具有相同數量的元素。我想讓array2擁有數組1的值作爲關鍵字。根據另一個值設置數組的鍵

應該改爲:

$array2 = array(([2] => Array (...) [3] => Array (...) [5] => Array (...) ... [9] => Array (...)); 

我寫了這個代碼,但是,我不知道爲什麼它只返回數組2的一部分。

reset($array1);reset($array2); 
foreach ($array2 as $k => $v) { 
    unset ($array2[$k]); 

    $new_key = current($array1); 
    next($array1); 
    $array2[$new_key] = $v; 
} 
print_r($array2); 

在此先感謝。

+0

文檔您也許可以嘗試在你的兩個陣列的使用array_flip()。之後你使用array_combine() – djot

回答

2

使用array_combine可以使用一個數組中的鍵和另一個數組中的值創建一個對象。

$array_1 = array ('hello','world','stackoverflow'); 
$array_2 = array (
    array ('greetings'), 
    array ('planet'), 
    array ('websitefilledwithgeeks') 
); 

print_r (
    array_combine ($array_1, $array_2) 
); 

輸出

Array 
(
    [hello] => Array 
     (
      [0] => greetings 
     ) 

    [world] => Array 
     (
      [0] => planet 
     ) 

    [stackoverflow] => Array 
     (
      [0] => websitefilledwithgeeks 
     ) 

) 

PHP: array_combine

相關問題