首页 > 解决方案 > 在php的多维数组中检查一个值是否重复并且另一列是否不同?

问题描述

我有这样的多维数组。

array:8 [
  0 => array:8 [
    "SERIAL" => "qwerty"
    "BRANCH" => "TEST1"
  ]
  1 => array:8 [
    "SERIAL" => "qwer"
    "BRANCH" => "TEST1"
  ]
  2 => array:8 [   // RETURN THIS AS ERROR AS THE BRANCH "TEST1" has already "qwerty" serial
    "SERIAL" => "qwerty"
    "BRANCH" => "TEST2"
  ]
  3 => array:8 [   
    "SERIAL" => "qwerty"
    "BRANCH" => "TEST1"
  ]
]

如果“SERIAL”和不同的“BRANCH”值重复,我的目标是返回错误。

知道如何实现这一目标吗?

标签: phparrays

解决方案


一种选择是使用 2 个 foreach 循环并检查 SERIAL 是否相同而 BRANCH 是否不同。

如果是这种情况,请跳出循环或相应地处理它。

foreach ($arrays as $arrayA) {
    foreach ($arrays as $arrayB) {
        if ($arrayA["SERIAL"] == $arrayB["SERIAL"] && $arrayA["BRANCH"] !== $arrayB["BRANCH"]) {
            print_r($arrayB);
            break 2;
        }
    }
}

看一个php 演示


推荐阅读