在php中使用相同的键组合两个数组
你好,只是一个php新手,非常需要你的帮助。我实际上有两个数组,我希望它能够合并在php中使用相同的键组合两个数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,你好,只是一个php新手,非常需要你的帮助。我实际上有两个数组,我希望它能够合并 ['a1']=>array( [0]=>200, [1]=>300, [2]=>300 ), ['a2']=>array( [0]=>100, [1]=>600, [2]=>200 ) ['a1']=>array( [0]=>gen, [1]=>
['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);
?>
您应该使用该功能
$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);
?>
您应该使用该功能
$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);
?>
使用:
注意:在您提供print\r()
输出时,我重建了您的阵列。但这应该让你开始了。使用:
注意:在您提供print\r()
输出时,我重建了您的阵列。但是这应该可以让您开始了。PHParray\u combine()
在这种情况下非常有用
$a1 = array(200,300,300);
$a2 = array('gen','gen2','gen3');
var_dump(array_combine($a2, $a1));
函数参考:PHParray\u combine()
在这种情况下非常有用
$a1 = array(200,300,300);
$a2 = array('gen','gen2','gen3');
var_dump(array_combine($a2, $a1));
函数参考:以下是我的工作示例:
$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));
在我的本地主机上测试。以下是我的工作示例:
$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));
在我的本地主机上测试。@DevlshOne,他承认是个新手,让我们放松一下。@DevlshOne,他承认是个新手,让我们放松一下。接下来的问题是,如果我想显示的密钥中有重复项,因为它只是覆盖了重复密钥,该怎么办。再次感谢您提出了一个后续问题,如果我要显示的密钥中存在重复项,那该怎么办?因为它只是覆盖了重复的密钥。再次感谢您提出了一个后续问题,如果我要显示的密钥中存在重复项,该怎么办?因为它只会覆盖重复的密钥。我忘了这是我不能使用联合收割机功能的主要原因。再次感谢您提出了一个后续问题,如果我要显示的密钥中存在重复项,该怎么办?因为它只会覆盖重复的密钥。我忘了这是我不能使用联合收割机功能的主要原因。再次感谢您提出了一个后续问题,如果我要显示的密钥中存在重复项,该怎么办?因为它只会覆盖重复的密钥。我忘了这是我不能使用联合收割机功能的主要原因。谢谢,我会查你的答案…稍等一下…数组的全部要点是要有唯一的键…抱歉,只是一个后续问题,如果我想显示的键中有一个重复的键,会怎么样,因为它只是覆盖了重复的键。我忘了这是我不能使用联合收割机功能的主要原因。谢谢你,我会查你的答案…稍等一下…数组的全部目的就是要有唯一的键…对不起