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 相关文章推荐
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Oct 11 PHP
创建数据库php代码 用PHP写出自己的BLOG系统
Apr 12 PHP
PHP 循环列出目录内容的函数代码
May 26 PHP
PHP 计算代码执行耗时的代码修正网上普遍错误
May 14 PHP
php实现统计邮件大小的方法
Aug 06 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
PHP+Apache+Mysql环境搭建教程
Aug 01 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
Nov 20 PHP
PHP集成环境XAMPP的安装与配置
Nov 13 PHP
微信公众平台开发教程④ ThinkPHP框架下微信支付功能图文详解
Apr 10 PHP
php实现登录页面的简单实例
Sep 29 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
Sep 15 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 EOT定界符的使用详解
2008/09/30 PHP
php使用websocket示例详解
2014/03/12 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
jquery validate使用攻略 第四步
2010/07/01 Javascript
不要在cookie中使用特殊字符的原因分析
2010/07/13 Javascript
JS的replace方法介绍
2012/10/20 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
js左右弹性滚动对联广告代码分享
2014/02/19 Javascript
ECMAScript6快速入手攻略
2016/07/18 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
浅谈JavaScript异步编程
2017/01/20 Javascript
微信小程序之购物车功能
2020/09/23 Javascript
centos 上快速搭建ghost博客方法分享
2018/05/23 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
前端面试知识点目录一览
2019/04/15 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
Python使用cx_Oracle模块操作Oracle数据库详解
2018/05/07 Python
Python实现DDos攻击实例详解
2019/02/02 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
matplotlib subplot绘制多个子图的方法示例
2020/07/28 Python
结合 CSS3 transition transform 实现简单的跑马灯效果的示例
2018/02/07 HTML / CSS
白色公司:The White Company
2017/10/11 全球购物
俄罗斯的精英皮具:Wittchen
2018/01/29 全球购物
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
如何唤起类中的一个方法
2013/11/29 面试题
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
感恩信:写给爸爸妈妈的一封感谢信
2019/09/12 职场文书
Python 一键获取电脑浏览器的账号密码
2022/05/11 Python
如何让你的Nginx支持分布式追踪详解
2022/07/07 Servers