【发布时间】:2017-04-01 22:18:47
【问题描述】:
我真的很困惑合并两个数组,如果这真的被称为合并或递归模式。我以前看过一些例子,但我并不真正明白如何获得我需要的结果。
$arrays = array('A1','A2','A3');
$result = array('B1','B2','B3');
我想要 A1 B1、A1 B2、A1 B3 之类的东西。然后是 A2 B1,A2 B2,A2 B3,然后是 A3 B1,A3 B2,A3 B3,但我似乎不太明白应该怎么做。 我在网上找到了这段代码
function get_combinations($arrays) {
$result = array(array());
foreach ($arrays as $property => $property_values) {
$tmp = array();
foreach ($result as $result_item) {
foreach ($property_values as $property_key => $property_value) {
$tmp[] = $result_item + array($property_key => $property_value);
}
}
$result = $tmp;
}
return $result;
}
我尝试更改其中的一些值,但它对我不起作用,因为我不知道如何在示例中制作这样的东西。如果某处有重复,请原谅我,我只是不知道如何使它工作。任何帮助将不胜感激。
答案: 好的,谢谢大家,我真的能够让它工作。由于我的帐户存在一些限制,我无法以正常方式回答。感谢 chris85 的榜样。它工作得很好。我能够将这些值存储到一个数组中。这是我的代码:
$arrays = array('A1','A2','A3');
$result = array('B1','B2','B3');
$myarray = array();
foreach($arrays as $value) {
foreach($result as $value2){
$myarray[] = $value . $value2;
}
}
print_r ($myarray);
【问题讨论】:
-
你想像这样输出字符串吗?像这样“A1,B1,B2,B3,A2,B1,B2 B3,A3,B1,B2,B3”
-
对不起,我弄错了。很抱歉。我想要这样的输出 A1 B1、A1 B2、A1 B3。然后是 A2 B1,A2 B2,A2 B3,然后是 A3 B1,A3 B2,A3 B3