简体   繁体   English

将数组列中的唯一值打印为逗号分隔的字符串

[英]Print unique values from an array column as a comma-separated string

I want to print all unique Department values from a multidimensional array as a comma-separated string, but not all rows have a Department value.我想将多维数组中的所有唯一Department值打印为逗号分隔的字符串,但并非所有行都有Department值。

The boiled down version of my array looks like this:我的数组的简化版本如下所示:

$employee = [
    ["employee_id" => 1, "Department" => "Tech"],
    ["employee_id" => 2, "Department" => "Tech"],
    ["employee_id" => 3],
    ["employee_id" => 4, "Department" => "Tech"],
    ["employee_id" => 5],
    ["employee_id" => 6, "Department" => "Crm"],
    ["employee_id" => 7],
    ["employee_id" => 8, "Department" => "Crm"],
    ["employee_id" => 9, "Department" => "Crm"],
    ["employee_id" => 10],
    ["employee_id" => 11, "Department" => "Crm"],
    ["employee_id" => 12, "Department" => "Crm"]
];

I tried with:我试过:

for ($i=0; $i < count($employee); $i++) {
    print_r(array_unique($employee[$i]['Department']));
}

But I generate Warnings when I try to access a non-existent Department value.但是当我尝试访问不存在的部门值时会生成警告。

Expected output:预期 output:

Tech,Crm
<?php

echo implode(",",array_unique(array_column($employee,'Department')));

Use array_column to filter values of Department column and use array_unique() to have unique values of Department . 使用array_column过滤Department列的值,并使用array_unique()获得Department唯一值。 Now, just implode() them based on , . 现在,只需基于,它们implode()

You can avoid calling array_unique() after array_column() by repeating its second parameter as its third parameter.您可以通过将第二个参数作为第三个参数重复来避免在array_column() array_unique() PHP does no allow duplicate kays on the same level as an array. PHP 不允许在与阵列相同的级别上重复 kay。 When a repeated Department is encountered, the old value is replaced with its newer, identical value.当遇到重复的部门时,旧值将替换为其更新的相同值。

Code: ( Demo )代码:(演示

echo implode(',', array_column($employee, 'Department', 'Department'));
// Tech,Crm

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 从对象数组的单列创建逗号分隔的字符串 - Create a comma-separated string from a single column of an array of objects 逗号分隔的字符串到数组 - comma-separated string to array 将关联数组值存储到以逗号分隔的字符串中 - Store Associative Array values into comma-separated string 如何将多维数组中的列转换为逗号分隔的字符串? - How convert a column from a multi-dimensional array into a comma-separated string? 从字符串创建逗号分隔的参数 - create comma-separated arguments from string 从逗号分隔的字符串中删除项目 - Remove an item from a comma-separated string 在二维数组中分解多个逗号分隔的字符串,然后获取所有唯一值 - Explode multiple comma-separated strings in a 2d array, then get all unique values 按一列对子数组进行分组,并在组内将另一列与逗号分隔的值 - Group subarrays by one column, make comma-separated values from other column within groups 从数据库表中提取的逗号分隔值行创建单个值的平面数组 - Create flat array of individual values from rows of comma-separated values fetched from a database table 从包含相关逗号分隔值的单元素关联数组创建一个新的关联数组 - Create a new associative array from a single-element associative array containing related comma-separated values
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM