PHP合并单个数组

3

我不确定如何准确地解释我想要做什么,但我会用一个例子来尝试解释。

$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) )
2个回答

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
        )

)

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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接