2017-09-16 50 views
-3

我有兩個數組:PHP:如何將另一個數組的元素包含在另一個數組的索引中?

array(3) 
{ 
    [0]=> 
     string(1) "1" 
    [1]=> 
     string(1) "1" 
    [2]=> 
     string(1) "2" 
} 

array(3) 
{ 
    [0]=> 
     string(1) "abc" 
    [1]=> 
     string(1) "def" 
    [2]=> 
     string(1) "ghi" 
} 

有什麼辦法,我可以把第一個數組的元素融入到第二個數組的索引產生以下結果:

array(3) 
{ 
    [1]=> 
     string(1) "abc" 
    [1]=> 
     string(1) "def" 
    [2]=> 
     string(1) "ghi" 
} 

我怎樣才能做到這一點在PHP?提前致謝。

+0

陣列不能包含相同的(重複)鍵 –

+0

您正在尋找的功能是'array_combine($鍵,$值)'但指出,它不會與這個例子 – Andreas

+0

好吧,我會嘗試使用多維數組 –

回答

0

由於預期的輸出是不可能的,所以要做一個多維數組,其中問題ID是答案的子陣列。

$arr1 = [1,1,2]; 
$arr2 = ["abc","def","ghi"]; 

Foreach($arr1 as $key => $id){ 
    $threads[$id][] = $arr2[$key]; 
} 

Var_dump($threads) 

輸出:

array(2) { 
    [1]=> 
    array(2) { 
     [0]=> "abc" 
     [1]=> "def" 
    } 
    [2]=> 
    array(1) { 
     [0]=> "ghi" 
    } 
} 

https://3v4l.org/qpJDA

0

您可以使用「array_combine」方法達到此目的。 http://php.net/array-combine

但是,你不能有相同的多個索引陣列中的

array(3) 
{ 
    [1]=> "abc" 
    [1]=> "def" 
    [2]=> "ghi" 
} 

你有數組索引「1」的兩倍。所以「def」將取代你的陣列中的「abc」

+0

我錯誤地提交了它 –

+0

那麼我應該製作多維數組? –

+0

沒有。 。多維無法解決你的問題 –

相關問題