我不确定如何准确地解释我想要做什么,但我尝试用一个例子来解释。
$products = array("35","37","43");
如果我有上面的数组,我怎么能创建一个看起来像这样的结果数组。
$related_products = array (
array (35,37),
array (35,43),
array (37,35),
array (37.43),
array (43,35),
array (43, 37) )
答案 0 :(得分:5)
您可以使用两个循环来捕获所有组合:
$products = array("35","37","43");
$result = array();
for($i = 0; $i < count($products); $i++) {
for($j = 0; $j < count($products); $j++) {
if($i !== $j) {
$result[] = array(
$products[$i],
$products[$j]
);
}
}
}
print_r($result);
结果:
Array
(
[0] => Array
(
[0] => 35
[1] => 37
)
[1] => Array
(
[0] => 35
[1] => 43
)
[2] => Array
(
[0] => 37
[1] => 35
)
[3] => Array
(
[0] => 37
[1] => 43
)
[4] => Array
(
[0] => 43
[1] => 35
)
[5] => Array
(
[0] => 43
[1] => 37
)
)
答案 1 :(得分:0)
你可以使用像这样的array_push方法将一个项添加到主数组中,
$products = array("35","37","43");
$data = array();
for($i = 0; $i < count($products); $i++) {
for($j = 0; $j < count($products); $j++) {
if($i !== $j) {
array_push($data,array($products[$i],$products[$j]));
);
}
}
}
print_r($data);