【问题标题】:Looking for duplicated values in an array for a certain key [duplicate]在数组中查找某个键的重复值[重复]
【发布时间】:2018-05-07 14:37:17
【问题描述】:

我有一个数组:

Array
(
    [0] => Array
        (
            [sku_code_part_id] => 1
            [part_label] => blue
            [part_value] => BLU
        )

    [1] => Array
        (
            [sku_code_part_id] => 2
            [part_label] => Orange
            [part_value] => ORG
        )

    [2] => Array
        (
            [sku_code_part_id] => 3
            [part_label] => Orange
            [part_value] => ORG
        )

    [3] => Array
        (
            [sku_code_part_id] => 4
            [part_label] => Orange
            [part_value] => ORG
        )

    [4] => Array
        (
            [sku_code_part_id] => 5
            [part_label] => Green
            [part_value] => GRE
        )

    [5] => Array
        (
            [sku_code_part_id] => 6
            [part_label] => Red
            [part_value] => RED
        )

)

我想要一种简单的方法来检查数组 $this->request->post['custom_parts'] 中是否存在分配给 part_value 键的任何重复值。

所以我可以标记“ORG”重复多次的错误。

我尝试了各种方法,例如删除重复和前后比较。但是,我遇到了一些问题。

有什么想法吗?

【问题讨论】:

    标签: php arrays duplicates


    【解决方案1】:

    您也许可以使用“array_key_exists”

    http://php.net/manual/en/function.array-key-exists.php

    【讨论】:

    • 不确定它是如何工作的,因为我正在查看“part_value”的值是否存在不止一次。不止一次。
    【解决方案2】:

    您可能想编写一个函数,但这里有一个使用 foreach 的解决方案。

    $part_values = [];
    $part_values_duplicates = [];
    foreach($this->request->post['custom_parts'] as $customPart){
        if(!in_array($customPart['part_value'], $part_values)){
            $part_values[] = $customPart['part_value'];
        }
        else {
            $part_values_duplicates[] = $customPart['part_value'];
        }
    }
    var_dump($part_values_duplicates);
    

    【讨论】:

    • 编辑:var_dump(); 中的 $part_values_duplicates 中有一个类型; (最后一行)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多