$input = array("a" => "green", "red", "b" => "green", "blue", "red");

//常见做法:
$result = array_unique($input);
print_r($result); Array
(
[a] => green
[0] => red
[1] => blue
) //效率提升:
/*
* 第一种
* 思路:键值互换,达到去重目的,但是结果集中键值可能并不是按照数字索引的,可通过array_merge重新生成索引
*/
$result_01 = array_flip($input);
$result_02 = array_flip($result_01);
$result = array_merge($result_02); /*
* 第二种
* 思路:键值互换,通过array_key直接获取键值,比array_merge()更快
*/
$result_01 = array_flip($input);
$result = array_key($result_01);

php 一维数组去重的更多相关文章

  1. PHP对一维数组去重

    一维数组去重 $arr =[1,2,2,3,6]; $arr1 =array_flip($arr); $arr =array_flip($arr1); return $arr; array_flip( ...

  2. PHP一维数组去重方法array_unique()

    array_unique() :去除数组中的重复项,只适用于一维数组 它不像 sort()方法, eg:  $arraytest = array('tommy','tommy','abcd'); so ...

  3. PHP一维数组快速去重、去零

    1.一维数组去重: /** * 一维数组去重,返回格式为索引数组 * @param array $data 待去重的数组 * @return array */ public static functi ...

  4. php二维数组去重

    php二维数组去重 前言:php一维数组去重很简单,直接array_unique($arr)即可,但是二维数组去重就得自己去写了 二维数组去重方法: /* * 二维数组去重 * 注意:二维数组中的元素 ...

  5. PHP多维数组去重

    自己写了一个实现多维数组去重的方法, 只是实现了功能, 至于性能没多管~  可以保留key, 这个方法是针对最终的一维数组元素去重, 如果是多维数组的两个子元素是相同的数组, 是不能去重的 prote ...

  6. reduce计算数组中每个元素出现的次数 数组去重的几种方式 将多维数组转化为一维

    // js计算数组中每个元素出现的次数 // var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice']; // var countedNames = ...

  7. php 数组去重 (一维数组与二维数组)

    数组中重复项的去除 一维数组的重复项: 使用array_unique函数即可,使用实例如下: <?php                   $aa=array("apple" ...

  8. php数组去重实例及分析

    php数组去重实例及分析.  一维数组的重复项: 使用array_unique函数即可,使用实例 <?php    $aa=array("apple","banan ...

  9. php 数组去重

    php 数组去重 数组中重复项的去除 2010-07-28 15:29 一维数组的重复项: 使用array_unique函数即可,使用实例如下: <?php                    ...

随机推荐

  1. Ubuntu下golang环境搭建

    参考官方文档:https://golang.org/doc/editors.html 1.安装golang apt install golang 2.配置GOPATH mkdir ~/gopath v ...

  2. 【Professional English】Words Summary

    01.数据库管理系统(Database Management Systems,DBMS) A database management system (DBMS) is a computer softw ...

  3. STM32——项目需求之低功耗的停机模式

    在说低功耗之前,先要明白一个东西,那就是stm32中的事件和中断. 事件是中断的触发源,开放了对应的中断屏蔽位,则事件可以触发相应的中断.在STM32中,中断与事件不是等价的,一个中断肯定对应一个事件 ...

  4. 【转】oracle中的游标的原理和使用详解

    游标 游标的简介: 逐行处理查询结果,以编程的方式访问数据 游标的类型: 1,隐式游标:在 PL/SQL 程序中执行DML SQL 语句时自动创建隐式游标,名字固定叫sql. 2,显式游标:显式游标用 ...

  5. json数据在前端(javascript)和后端(php)转换

    学习目的:前后端数据交换   思路: json数据格式是怎么样? 后端各种语言怎么将自己内容转换成json格式的内容? 前端怎么接收json数据?有几种方式? js中怎么将json数据转换成js中的数 ...

  6. STM32 ACM Linux 驱动添加

    kernel 内驱动添加如下: x Symbol: USB_ACM [=y] x x Type : tristate x x Prompt: USB Modem (CDC ACM) support x ...

  7. postgresql with递归

    在PostgreSQL里,with子句提供了一种方法写一个大的查询中使用的辅助报表与查询.它有助于打破复杂和大型查询简单易读的形式. 1. 建表 postgres=# create table tb9 ...

  8. Adroid我还是个菜鸟——导入jar包

    AndroidStudio怎样导入jar包 原文地址:http://jingyan.baidu.com/article/e6c8503c7190b7e54f1a1893.html AndroidStu ...

  9. Android——监听事件总结

    各种监听事件 1.按钮 Button(1)点击监听 btn_1.setOnClickListener(new View.OnClickListener() { (2)长按监听 btn_1.setOnL ...

  10. opencv----模板匹配

    引自:http://blog.csdn.net/liyuanbhu/article/details/49837661 OpenCV 学习笔记(模板匹配) 模板匹配是在一幅图像中寻找一个特定目标的方法之 ...