2017-09-16 49 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

没有。 。多维无法解决你的问题 –

相关问题