Php 如何合并数组的值

Php 如何合并数组的值,php,arrays,Php,Arrays,我有这个数组,我想把它转换成 Array ( [0] => Array ( [Handle] => example-t-shirt [Title] => Example T-Shirt [Vendor] => Acme [Type] => Shirts ) [1] => Array

我有这个数组,我想把它转换成

Array
(
    [0] => Array
        (
            [Handle] => example-t-shirt
            [Title] => Example T-Shirt            
            [Vendor] => Acme
            [Type] => Shirts
        )

    [1] => Array
        (
            [Handle] => example-t-shirt
            [Title] => 1
            [Vendor] => 2
            [Type] => 3
        )

    [2] => Array
        (
            [Handle] => example-t-shirt
            [Title] => 4
            [Vendor] => 5
            [Type] => 6
        )

)
数组的另一个键,如句柄或标题,也不是固定的,它们也是动态的。
thanx提前

首先需要将其生成为数组:

Array
(
    [Handle] => example-t-shirt,example-t-shirt,example-t-shirt
    [Title] => Example T-Shirt,1,4
    [Vendor] => Acme,2,5
    [Type] => Shirts,3,6
)
因此,您的最终代码将是:

foreach ($finalArray as $key => $value)
    $finalArray[$key] = implode(", ", $value);

Fiddle:

这里是一个使用array\u walk\u recursive的工作示例

Array
(
    [Handle] => example-t-shirt, example-t-pant
    [Title] => Example T-Shirt, Example T-Pant
    [Vendor] => Acme, Meca
    [Type] => Shirts, Pants
)
试试这个:

$mainArray = array(
        array(
            "Handle" => "example-t-shirt",
            "Title" => "Example T-Shirt",
            "Vendor" => "Acme",
            "Type" => "Shirts"
        ),
        array(
            "Handle" => "example-t-pant",
            "Title" => "Example T-Pant",
            "Vendor" => "Meca",
            "Type" => "Pants"
        )
    );

$final = array();

array_walk_recursive($mainArray, function($item, $key) use (&$final){
  $final[$key] = isset($final[$key]) ?  $item .', '. $final[$key] : $item;
});

var_dump($final);

这是数组的变换。请出示密码好吗?看起来您可以使用两个嵌套的foreach循环和.join来实现这一点。您能重新表述一件事吗?数组的多个键(如句柄或标题)也是不固定的,它们也是动态的?我似乎很不清楚您到目前为止尝试了什么?数组的键不是固定的,就像不确定每次键都是句柄、标题或供应商一样,这些都是动态的,取决于用户导入的csv文件的数据。@VJ。这适用于动态关键点。尝试一下,如果有效,接受答案
Array
(
    [Handle] => example-t-shirt, example-t-pant
    [Title] => Example T-Shirt, Example T-Pant
    [Vendor] => Acme, Meca
    [Type] => Shirts, Pants
)
$mainArray = array(
        array(
            "Handle" => "example-t-shirt",
            "Title" => "Example T-Shirt",
            "Vendor" => "Acme",
            "Type" => "Shirts"
        ),
        array(
            "Handle" => "example-t-pant",
            "Title" => "Example T-Pant",
            "Vendor" => "Meca",
            "Type" => "Pants"
        )
    );

$final = array();

array_walk_recursive($mainArray, function($item, $key) use (&$final){
  $final[$key] = isset($final[$key]) ?  $item .', '. $final[$key] : $item;
});

var_dump($final);
<?php
$temp = array(
    array(
            "Handle" => "example-t-shirt",
            "Title" => "Example T-Shirt",          
            "Vendor" => "Acme",
            "Type" => "Shirts"
          ),

    array(
            "Handle" => "example-t-shirt",
            "Title" => 1,
            "Vendor" => 2,
            "Type" => 3
        ),

    array(
            "Handle" => "example-t-shirt",
            "Title" => 4,
            "Vendor" => 5,
            "Type" => 6
    )
);

$result = array();

foreach($temp as $t){
  if (is_array($t)){
    foreach ($t as $k=>$r){
        if(array_key_exists($k,$result)){
            $result[$k] .= ','.$r;
        } else {
            $result[$k] = $r;
        }
    }
  }
}
 echo '<pre>';
 print_r($result);
?>