PHP中key和current,next的联合运用实例分析


Posted in PHP onMarch 29, 2016

本文实例讲述了PHP中key和current,next的联合运用方法。分享给大家供大家参考,具体如下:

问题:

$arrq = array();
$arrq['tuc'] = array('sss'=>'ewq','shu'=>'sjkah','saa'=>'dwjhaz');
$arrq['tucs'] = array('ssss'=>'ewsq','sQhu'=>dwjhaz','sa12a'=>'dwjQhaz');
$arrq['tuca'] = array('sssd'=>'ewqq','shu2'=>'sjkah','saSa'=>'dwjhhaz');

如何在不破坏数组结构的情况下去除$arrq数组中的重复的值?

思路:先将第一个二维数组中的元素用array_unique函数输出。
输出第二个二维数组中的元素时,自己先用array_unique处理,再去掉在第一个二维数组中已经存在的元素。
输出第三个时,自己先用array_unique处理,再去掉在第一个和第二个二维数组合集中已经存在的元素。
以此类推。

总之,自己先要array_unqiue去重,再去掉自身中在前面所在数组元素合集中存在的元素。

以下为代码:

<?php
$arrq = array();
$arrq['tuc'] = array('sss'=>'ewq','shu'=>'sjkah','saa'=>'dwjhaz');
$arrq['tucs'] = array('ssss'=>'ewsq','sQhu'=>'dwjhaz','sa12a'=>'dwjQhaz');
$arrq['tuca'] = array('sssd'=>'ewqq','shu2'=>'sjkah','saSa'=>'dwjhhaz');
$last=array(); //设置一个空的用来比较的数组
while($arr=current($arrq)) {
  //echo key($arrq);
  $tmp=array_unique($arr); //先清除每个一维数组自身相同的值
  if(count($last)==0) {
    $last=array_merge($last,$arr); //将已经去重的前面的数组合并
  }
  else { // 对其余一维数组进行输出
    //echo key($arrq);
    foreach($arr as $ke=>$va) {
      if(in_array($arr[$ke], $last)) //如果已经存在的元素
      unset($arrq[key($arrq)][$ke]); //删除,此处取得数组元素的KEY值是关键
    }
    $last=array_merge($last,$arr); //将$last变为前面数组的合集,用来进行下次比较
  }
  next($arrq); //指针向后移,这样才能用key函数取得不同的$arrq的下标
}
//以下输出处理后的数组
foreach($arrq as $arr) {
  foreach($arr as $val) {
    echo $val." ";
  }
  echo "<br>";
}
?>

运行结果为:

PHP中key和current,next的联合运用实例分析

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
NO3第三帝国留言簿制作过程
Oct 09 PHP
php下判断数组中是否存在相同的值array_unique
Mar 25 PHP
PHP变量内存分配问题记录整理
Nov 27 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
Feb 24 PHP
wamp安装后自定义配置的方法
Aug 23 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
Nov 05 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
php取得字符串首字母的方法
Mar 25 PHP
利用PHP如何写APP接口详解
Aug 23 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
Nov 17 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
Oct 03 PHP
php使用自带dom扩展进行元素匹配的原理解析
May 29 PHP
CodeIgniter基于Email类发邮件的方法
Mar 29 #PHP
PHP中抽象类、接口的区别与选择分析
Mar 29 #PHP
php实现图片缩略图的方法
Mar 29 #PHP
YII动态模型(动态表名)支持分析
Mar 29 #PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 #PHP
Yii数据库缓存实例分析
Mar 29 #PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
Mar 28 #PHP
You might like
php 中的str_replace 函数总结
2007/04/27 PHP
mayfish 数据入库验证代码
2010/04/30 PHP
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
详解AngularJS中的表单验证(推荐)
2016/11/17 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
canvas绘制一个常用的emoji表情
2017/03/30 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
js实现字符全排列算法的简单方法
2017/05/01 Javascript
vue bus全局事件中心简单Demo详解
2018/02/26 Javascript
vue中本地静态图片路径写法
2018/03/06 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
python 数据加密代码
2008/12/24 Python
python网络爬虫采集联想词示例
2014/02/11 Python
Python六大开源框架对比
2015/10/19 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
Python实现多线程/多进程的TCP服务器
2019/09/03 Python
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
Meli Melo官网:名媛们钟爱的英国奢侈手包品牌
2017/04/17 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
《月亮湾》教学反思
2014/04/14 职场文书
终止合同协议书
2014/04/17 职场文书
2014年质量工作总结
2014/11/22 职场文书
小学教师年度个人总结
2015/02/05 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
Python实战之OpenCV实现猫脸检测
2021/06/26 Python
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python