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加MYSQL服务器
Oct 09 PHP
抓取YAHOO股票报价的类
May 15 PHP
PHP实现时间轴函数代码
Oct 08 PHP
phpmailer发送gmail邮件实例详解
Jun 24 PHP
手把手教你打印出PDF(关于fpdf的简单应用)
Jun 25 PHP
php+mysqli使用面向对象方式更新数据库实例
Jan 29 PHP
PHP微信开发之有道翻译
Jun 23 PHP
PHP Header失效的原因分析及解决方法
Nov 16 PHP
php进程daemon化的正确实现方法
Sep 06 PHP
PHP创建XML接口示例
Jul 04 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 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
自动分页的不完整解决方案
2007/01/12 PHP
ThinkPHP模版引擎之变量输出详解
2014/12/05 PHP
php上传中文文件名乱码问题处理方案
2015/02/03 PHP
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
jquery自定义类似$.ajax()的方法实现代码
2013/08/13 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
JS检测移动端横竖屏的代码
2016/05/30 Javascript
ionic 上拉菜单(ActionSheet)实例代码
2016/06/06 Javascript
大型JavaScript应用程序架构设计模式
2016/06/29 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
angular5 httpclient的示例实战
2018/03/12 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
vue-cli3 从搭建到优化的详细步骤
2019/01/20 Javascript
深入理解vue中的slot与slot-scope
2019/04/22 Javascript
详解Vite的新体验
2021/02/22 Javascript
python中的插值 scipy-interp的实现代码
2018/07/23 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
对python3中的RE(正则表达式)-详细总结
2019/07/23 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
OpenCV Python实现图像指定区域裁剪
2021/03/12 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
美国顶级户外凉鞋品牌:Chacos
2017/03/27 全球购物
中学教师岗位职责
2013/11/26 职场文书
审计工作个人的自我评价
2013/12/25 职场文书
毕业生求职信范文
2014/06/29 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
商务司机岗位职责
2015/04/10 职场文书
小学2016年第十八届推普周活动总结
2016/04/05 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python