给定二维数组:

  $arr = array(
    '0' => array('张三',2,3,4),
    '1' => array('李四',2,3,4),
    '2' => array('张三',2,4,3)

  );

去除第一列含有'张三'的重复项数组

源代码:

<?php

header('Content-Type: text/html; charset=utf-8');

//去除指定列含有重复项的数组
$arr = array(
'0' => array('张三',2,3,4),
'1' => array('李四',2,3,4),
'2' => array('张三',2,4,3),
); //var_dump($arr); $arr1 = []; //定义空数组$arr1
$arr2 = []; //定义空数组$arr2 //遍历给定数组
foreach ($arr as $v) {
if ($v[0]!='张三') { array_push($arr1, $v); //不含重复项的数组,添加到新的空数组$arr1 }else{
array_push($arr2, $v);//含有重复项的数组,添加到新的空数组$arr2 }
}
//从含有重复项的数组中随机选取一个添加至数组$arr1
array_push($arr1, $arr2[array_rand($arr2,1)]); //输出数组$arr1即为去重后的数组
var_dump($arr1);

效果如下图:

PHP二维数组--去除指定列含有重复项的数组的更多相关文章

  1. PHP 距离我最近排序+二维数组按指定列排序

    思路: 1.获取我的位置,即:我的经纬度 2.各站点须有位置     即:排序对象有位置经纬度 3.查询要排序的站点列表 4.循环遍历计算  与我的距离 5.二维数组按 指定列(距离)排序 具体如下: ...

  2. sed tr 去除PATH中的重复项

    最近发现由于自己不良的安装软件的习惯,shell的PATH路径包含了很多冗余的项.这里使用shell命令去除PATH的冗余项. export PATH=$(echo $PATH | sed 's/:/ ...

  3. 利用excel去除txt文本中重复项

    2017-04-10 1.要去重的文件,点击右键,选择程序. 2.选择excel表格或者wps表格. 3.excel表格去重:选中单元格——数据——筛选——高级筛选——选择不重复记录——确定 wps表 ...

  4. 去除DataTable指定列的重复行

    DataTable dt = ds.Tables[]; //获得 datatable DataView dv = new DataView(dt); DataTable dt2 = dv.ToTabl ...

  5. DataRow数组根据指定列排序

    正序:DataRow[] datarow = datarow.OrderBy(x=>x["Ybrq"]).ToArray(); 倒序:DataRow[] datarow = ...

  6. 去除list集合中重复项的几种方法

    因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List<string> li1 = new List<string> { "8&quo ...

  7. Android 去除list集合中重复项的几种方法

    因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List<"}; List<string> li2 = new List<string& ...

  8. c#去除List中的重复项

    List<string> list = new List<string> {"a", "a", "b", " ...

  9. SQL列最大重复项

    SELECT 1 AS co1, 'a' AS co2 INTO #a UNION SELECT 2, 'a' UNION SELECT 11,'a' UNION SELECT 12, 'a' UNI ...

随机推荐

  1. 在Linux上安装Oracle服务的操作步骤

    如题,将我在云服务器上安装Oracle服务的惨痛经历分享出来,期间查找的资料踩过的坑无数,希望对大家能有帮助 闲话少叙,直接开始 首先,由于服务器比较差,需要先设置swap 查看是否设置swap虚拟内 ...

  2. 前端学习笔记系列一:9 js中数组的拷贝

    拷贝分为浅拷贝和深拷贝,在JavaScript中能够实现这两种拷贝的方式也是多种多样.以下是一维数组实现深拷贝和浅拷贝的各种方式. 一.浅拷贝 1.赋值 赋值是最直接的一种浅拷贝. let arr3 ...

  3. 【Unity】鼠标点选物体

        Camera cam;    void Start () { cam =this.GetComponent<Camera>(); } void Update () { )) { T ...

  4. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:"text-primary" 类的文本样式

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. 百度地图javascript API,每个功能每天免费的次数

  6. Typora: Markdown Reference (Typora下Markdown语法使用说明)

    引言 由于一直在使用Typora,这个是我使用过的最棒的Markdown编辑器,但是总是忽略某一个功能,于是决定认真看一下其帮助文档 这里做一个简单主要功能的中文翻译(按键对应Windows下). 标 ...

  7. beanstalkd队列

    数据结构里面的队列是先进先出的数据结构,在服务器开发中使用队列可以有效的实现任务的异步处理,把耗时的任务放在一个队列中,由消费者去自动处理,比如客户端用户把错题生成pdf文件下载,可以在客户端点击生成 ...

  8. (转)如何判断VPS是基于哪种虚拟技术?Xen、OpenVZ、Xen HVM、KVM还是VMware

    对于VPS新手来说,怕被无良的奸商给忽悠,下的Xen的却给的OpenVZ的,如何来判断自己买的VPS是那种虚拟技术的,下面VPS侦探整理一些常见的方法. 1.通过系统上的相关目录或文件判断 执行:ls ...

  9. es和数据类型

    js=es+dom+bom,dom和bom前面已经讲完了 es是js的本体,是指数据类型,和对于数据的操作手段,他的版本更新得很快 这些功能不是html文件提供的,也不是浏览器提供的,即使脱离了dom ...

  10. css的响应式布局和动画

    把响应式布局和动画放在一起写是因为他们有个共同点@符号 先讲讲响应式布局@media 响应式布局==曾经==非常的流行,这种布局方式可以做出一也兼容一切设备的页面,但是当页面的功能越来越多,css文件 ...