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 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
解决控件遮挡问题:关于有窗口元素和无窗口元素
Jan 28 PHP
了解Joomla 这款来自国外的php网站管理系统
Mar 11 PHP
PHP stream_context_create()作用和用法分析
Mar 29 PHP
一些php项目中比较通用的php自建函数的详解
Jun 06 PHP
Linux下创建nginx脚本-start、stop、reload…
Aug 03 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
Nov 22 PHP
PHP实现微信网页授权开发教程
Jan 19 PHP
Yii视图操作之自定义分页实现方法
Jul 14 PHP
php语法检查的方法总结
Jan 21 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
php实现通过stomp协议连接ActiveMQ操作示例
Feb 23 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
浅谈Windows下 PHP4.0与oracle 8的连接设置
2006/10/09 PHP
php切割页面div内容的实现代码分享
2012/07/31 PHP
通过PHP current函数获取未知字符键名数组第一个元素的值
2013/06/24 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
2016/09/21 PHP
PHP实现对xml的增删改查操作案例分析
2017/05/19 PHP
对YUI扩展的Gird组件 Part-2
2007/03/10 Javascript
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
javascript 正则表达式相关应介绍
2012/11/27 Javascript
用javascript为页面添加天气显示实现思路及代码
2013/12/02 Javascript
javascript实现密码验证
2015/11/10 Javascript
js闭包引起的事件注册问题介绍
2016/03/29 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
Bootstrap3 Grid system原理及应用详解
2016/09/30 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
2016/12/19 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
Bootstrap禁用响应式布局的实现方法
2017/03/09 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
python通过pil模块获得图片exif信息的方法
2015/03/16 Python
Django imgareaselect手动剪切头像实现方法
2015/05/26 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python中使用platform模块获取系统信息的用法教程
2016/07/08 Python
python pytest进阶之xunit fixture详解
2019/06/27 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
Mio Skincare美国官网:身体紧致及孕期身体护理
2017/03/05 全球购物
与UNIX有关的几个名词
2015/09/17 面试题
我爱我的祖国演讲稿
2014/05/04 职场文书
优秀毕业生求职信
2014/06/05 职场文书
县人大领导班子四风对照检查材料思想汇报
2014/10/09 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
幼儿园教师工作总结2015
2015/04/02 职场文书
PyCharm配置KBEngine快速处理代码提示冲突、配置命令问题
2021/04/03 Python