程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了获取数组中重复值的键大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决获取数组中重复值的键?

开发过程中遇到获取数组中重复值的键的问题如何解决?下面主要结合日常开发的经验,给出你关于获取数组中重复值的键的解决方法建议,希望对你解决获取数组中重复值的键有所启发或帮助;
function get_keys_for_duplicate_values($my_arr, $clean = falsE) {
    if ($clean) {
        return array_unique($my_arr);
    }

    $dups = $new_arr = array();
    foreach ($my_arr as $key => $val) {
      if (!isset($new_arr[$val])) {
         $new_arr[$val] = $key;
      } else {
        if (isset($dups[$val])) {
           $dups[$val][] = $key;
        } else {
           $dups[$val] = array($key);
           // Comment out the prevIoUs line, and uncomment the following line to
           // include the initial key in the dups array.
           // $dups[$val] = array($new_arr[$val], $key);
        }
      }
    }
    return $dups;
}

函数名称显然很长;)

现在$ dups将包含一个由重复值键控的多维数组,其中包含每个重复项的键,如果您将“ true”作为第二个参数发送,它将返回没有重复值的原始数组。

或者,您可以将原始数组作为参传递,并在返回重复数组时进行相应的调整

解决方法

我有以下数组:

$myarray = Array("2011-06-21","2011-06-22","2011-06-23","2011-06-24","2011-06-25","2011-06-26");
var_dump($myarray);

结果:

Array (
    [0] => 2011-06-21
    [1] => 2011-06-22
    [2] => 2011-06-22
    [3] => 2011-06-23
    [4] => 2011-06-23
    [5] => 2011-06-24
    [6] => 2011-06-24
    [7] => 2011-06-25
    [8] => 2011-06-25
    [9] => 2011-06-26
)
  1. 现在如何显示具有重复值的键?在此函数不应返回([0],[9]),因为没有重复的值。
  2. 如何找到相同值的键,例如 对于“ 2011-06-25”,应返回[7],[8]

大佬总结

以上是大佬教程为你收集整理的获取数组中重复值的键全部内容,希望文章能够帮你解决获取数组中重复值的键所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。