0

您好 只是 php 的新手,非常需要您的帮助。我实际上有两个数组,我希望它结合起来。

    ['a1']=>array(
    [0]=>200,
    [1]=>300,
    [2]=>300
    ),

    ['a2']=>array(
    [0]=>100,
    [1]=>600,
    [2]=>200
    )

    ['a1']=>array(
    [0]=>gen,
    [1]=>gen2,
    [2]=>gen
       ),
    ['a2']=>array(
    [0]=>gen2,
    [1]=>gen3,
    [2]=>gen3
       )

我希望我的输出是:

[a1]=>(
         [gen]=>200,
         [gen2]=>300,
         [gen]=>300,
        )
  [a2]=>(
         [gen2]=>100,
         [gen3]=>600,
         [gen3]=>200,
        )

非常感谢您的帮助

我尝试这段代码并能够得到我想要的结果,除非有重复,它不显示重复的值,或者如果可以选择键是否重复,它必须添加值。

再次感谢你的帮助。

<?php
$array1 = array(a1=>array(200,300,300), a2=>array(100,600,200));
$array2 = array(a1=>array('gen','gen2','gen'), a2=>array('gen2','gen3','gen3'));
$result = array();
foreach($array1 as $k => $v) {
$result[$k] = array_combine($array2[$k], $v);
}

print_r($result);
?>
4

4 回答 4

2

使用array_combine()

$keys = array(0=>'gen', 1=>'gen2', 2=>'gen3');
$values = array(0=>200, 1=>300, 2=>300);
$a1 = array_combine($keys, $values);

注意:print_r()我在您提供输出时重建了您的数组。但这应该让你开始。

于 2013-07-24T14:50:24.910 回答
1

您应该使用该array_combine功能。

$array1 = array(200,300,300);
$array2 = array('gen','gen2','gen3');

$result = array_combine($array2, $array1); // $result will be your desired array 

您可以将其与 foreach 结合起来完成工作。

<?php
$array1 = array(a1=>array(200,300,300), a2=>array(100,600,200));
$array2 = array(a1=>array('gen','gen2','gen3'), a2=>array('gen2','gen3','gen7'));
$result = array();
foreach($array1 as $k => $v) {
    $result[$k] = array_combine($array2[$k], $v);
}
print_r($result);
?>
于 2013-07-24T14:50:23.930 回答
0

这是我的工作示例:

 $arr1 = array(
    (0)=>200,
    (1)=>300,
    (2)=>300
    );

 $arr2=array(
    (0)=>100,
    (1)=>600,
    (2)=>200
    );

  $a1=array(
    (0)=>'gen',
    (1)=>'gen2',
    (2)=>'gen3'
       );
   $a2=array(
    (0)=>'gen2',
    (1)=>'gen3',
    (2)=>'gen7'
       );


var_dump(array_combine($a1, $arr1));

在我的本地主机上测试。

于 2013-07-24T14:58:56.760 回答
0

PHParray_combine()在这种情况下会很好用。

$a1 = array(200,300,300);
$a2 = array('gen','gen2','gen3');

var_dump(array_combine($a2, $a1));

函数参考:http ://www.php.net/manual/en/function.array-combine.php

于 2013-07-24T14:54:35.323 回答