dpm91915 2014-10-06 19:47
浏览 14

如何获得其近似值的唯一数组

I have an array.

$a = array(
0 => 1,
1 => 1,
2 => 2,
3 => 3,
4 => 1
);

How to get unique array like this?

$result = array_My_unique($a);
print_r($result);

Output:

$a = array(
0 => 1,
1 => 2,
2 => 3,
3 => 1
);

Thank!

  • 写回答

1条回答 默认 最新

  • doulan8054 2014-10-06 19:53
    关注

    Assuming you are trying to avoid duplicates that are immediately next to each other:

    function array_my_unique($a = array()) {
        $out = array();
        $curr = false;
        foreach ($a as $v) {
            if ($curr !== $v) {
                $out[] = $v;
            }
            $curr = $v;
        }
        return $out;
    }
    

    This satisfies the assertion between input/output that you described in the question.

    评论

报告相同问题?

悬赏问题

  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 qgcomp混合物线性模型分析的代码出现错误:Model aliasing occurred
  • ¥100 已有python代码,要求做成可执行程序,程序设计内容不多
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助
  • ¥15 STM32控制MAX7219问题求解答