Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将数组索引的特定字段与重复值合并_Php_Arrays_Json - Fatal编程技术网

Php 将数组索引的特定字段与重复值合并

Php 将数组索引的特定字段与重复值合并,php,arrays,json,Php,Arrays,Json,我正在使用客户通过CSV文件提供的JSON数据集。我已将CSV处理为JSON格式 我得到以下结果(为了可读性,数据集从1304减少到2) 我希望能够在我的数组(pre-json_encode($array))中循环并合并这些对象,但同时将类别值保留到CSV列表中,因此这种情况下的理想输出是 "category": "Club, Seniors" 我很乐意简单地合并所有其他字段,因为它们在整个数据集上都是一致的。您可以使用简单循环(我使用标题来定义元素之间的相似性,但您可以更改它): 如果要删除

我正在使用客户通过
CSV
文件提供的
JSON
数据集。我已将
CSV
处理为
JSON
格式

我得到以下结果(为了可读性,数据集从1304减少到2)

我希望能够在我的数组(pre-
json_encode($array)
)中循环并合并这些对象,但同时将
类别
值保留到CSV列表中,因此这种情况下的理想输出是

"category": "Club, Seniors"

我很乐意简单地合并所有其他字段,因为它们在整个数据集上都是一致的。

您可以使用简单循环(我使用
标题来定义元素之间的相似性,但您可以更改它):

如果要删除数组键,可以使用
array\u values

$res
将是您的理想输出

"category": "Club, Seniors"
$arr = array(["title" => "Abercarn RFC", "category"=> "Club"], ["title" => "other title", "category"=> "BlaBla"], ["title" => "Abercarn RFC", "category"=> "Seniors"]);

$res = array();
foreach($arr as $e) {
    if (isset($res[$e["title"]]))
        $res[$e["title"]]["category"] .=   ", " . $e["category"];
    else $res[$e["title"]] = $e;
}