使用不同的密钥获取唯一值

时间:2016-10-13 12:09:49

标签: php arrays

处理完CSV文件后,我得到了如下所示的数据结构

Array
(
    [0] => Array
        (
            [Supplier Name] => John Lewis
            [Supplier Name2] => Fenwicks
            //other data
        )
    //Other elements
)

我想要做的是获得所有独特的浮雕。问题是,如果阵列中有多个供应商,则会在其末尾添加一个数字,例如供应商名称2。 我现在拥有的是这个。

$suppliers = array();
foreach($csvArray as $k => $row) {
    foreach($row as $key => $value) {
        $suppliers[] = $csvArray[$k]['Supplier Name'];
    }
}
$uniqueSuppliers = array_unique($suppliers);

现在返回密钥为Supplier Name的所有唯一值。但是,这不会影响供应商名称2,3,4等。在此搜索中,我是否可以包含任何以供应商名称开头的内容?

由于

1 个答案:

答案 0 :(得分:1)

您拥有$key中的密钥,只需测试它是否以Supplier Name

开头
foreach ($csvArray as $row) {
    foreach ($row as $key => $value) {
        if (strpos($key, 'Supplier Name') === 0) {
            $suppliers[] = $value;
        }
    }
}