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下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
php下mysql数据库操作类(改自discuz)
Jul 03 PHP
paypal即时到账php实现代码
Nov 28 PHP
使用php get_headers 判断URL是否有效的解决办法
Apr 27 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
CI框架入门之MVC简单示例
Nov 21 PHP
PHP单例模式定义与使用实例详解
Feb 06 PHP
PHP利用Socket获取网站的SSL证书与公钥
Jun 18 PHP
PHP实现防止表单重复提交功能【基于token验证】
May 24 PHP
php微信开发之图片回复功能
Jun 14 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
Apr 10 PHP
PHP后门隐藏的一些技巧总结
Nov 04 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校验ISBN码的函数代码
2011/01/17 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
php中的curl使用入门教程和常见用法实例
2014/04/10 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
PHP性能分析工具XHProf安装使用教程
2015/05/13 PHP
Javascript - HTML的request类
2007/01/09 Javascript
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
2007/08/21 Javascript
firefo xml 读写实现js代码
2009/06/11 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
js弹出框、对话框、提示框、弹窗实现方法总结(推荐)
2016/05/31 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
vue技术分享之你可能不知道的7个秘密
2018/04/09 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
Node.js系列之连接DB的方法(3)
2019/08/30 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
python绘制条形图方法代码详解
2017/12/19 Python
Python openpyxl读取单元格字体颜色过程解析
2019/09/03 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
Python做图像处理及视频音频文件分离和合成功能
2020/11/24 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
单身旅行者的单身假期:Just You
2018/04/08 全球购物
美国在线自行车商店:Jenson USA
2018/05/22 全球购物
教室布置标语
2014/06/26 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
生产车间主任岗位职责
2015/04/08 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
详解Python中的for循环
2022/04/30 Python