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中json_encode、json_decode与serialize、unserialize的性能测试分析
Jun 09 PHP
让PHP以ROOT权限执行系统命令的方法
Feb 10 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
Apr 09 PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 PHP
php实现webservice实例
Nov 06 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
php实现递归抓取网页类实例
Apr 03 PHP
php实现向javascript传递数组的方法
Jul 27 PHP
PHP中文竖排转换实现方法
Oct 23 PHP
PHP使用PHPexcel导入导出数据的方法
Nov 14 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
PDO::inTransaction讲解
Jan 28 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中动态调用函数的方法
2015/03/16 PHP
php调整服务器时间的方法
2015/04/03 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
关于 byval 与 byref 的区别分析总结
2007/10/08 Javascript
通过JavaScript控制字体大小的代码
2011/10/04 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
让js弹出窗口居前显示的实现方法
2013/07/10 Javascript
JS获取文本框,下拉框,单选框的值的简单实例
2014/02/26 Javascript
javascript解析json实例详解
2014/11/05 Javascript
coffeescript使用的方式汇总
2015/08/05 Javascript
Javascript 计算字符串在localStorage中所占字节数
2015/10/21 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
微信JS-SDK选取手机照片上传功能
2017/04/21 Javascript
用angular实现多选按钮的全选与反选实例代码
2017/05/23 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
JS实现吸顶特效
2020/01/08 Javascript
vue2.0实现列表数据增加和删除
2020/06/17 Javascript
python用来获得图片exif信息的库实例分析
2015/03/16 Python
python 进程 进程池 进程间通信实现解析
2019/08/23 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
详解selenium + chromedriver 被反爬的解决方法
2020/10/28 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
HTML5调用手机发短信和打电话功能
2020/04/29 HTML / CSS
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
基于Python 函数和方法的区别说明
2021/03/24 Python
建筑文秘专业个人求职信范文
2013/12/28 职场文书
房地产销售经理岗位职责
2014/01/01 职场文书
基本公共卫生服务健康教育工作方案
2014/05/22 职场文书
2015教师年度工作总结范文
2015/04/07 职场文书
地球上的星星观后感
2015/06/02 职场文书
2016年党员承诺书范文
2016/03/24 职场文书
为什么 Nginx 比 Apache 更牛逼
2021/03/31 Servers