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 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
PHP开发环境配置(MySQL数据库安装图文教程)
Apr 28 PHP
php一次性删除前台checkbox多选内容的方法
Sep 22 PHP
如何实现php图片等比例缩放
Jul 28 PHP
php实现表单多按钮提交action的处理方法
Oct 24 PHP
学习php设计模式 php实现合成模式(composite)
Dec 08 PHP
WordPress开发中用于标题显示的相关函数使用解析
Jan 07 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
Mar 01 PHP
php array_values 返回数组的值实例详解
Nov 17 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
PHP正则表达式函数preg_replace用法实例分析
Jun 04 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 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
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
php 多文件上传的实现实例
2016/10/23 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
angular.bind使用心得
2015/10/26 Javascript
Javascript实现检测客户端类型代码封包
2015/12/03 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
微信 jssdk 签名错误invalid signature的解决方法
2019/01/14 Javascript
Flutter部件内部状态管理小结之实现Vue的v-model功能
2019/06/11 Javascript
基于JavaScript 实现拖放功能
2019/09/12 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
2020/02/21 Javascript
js实现弹幕飞机效果
2020/08/27 Javascript
Python操作Word批量生成文章的方法
2015/07/28 Python
Python处理PDF及生成多层PDF实例代码
2017/04/24 Python
python实现while循环打印星星的四种形状
2019/11/23 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
台湾旅游网站:灿星旅游
2018/10/11 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
营销与策划个人求职信
2013/09/22 职场文书
中医药大学市场营销专业自荐信
2013/09/29 职场文书
新年抽奖获奖感言
2014/03/02 职场文书
保密承诺书
2014/03/27 职场文书
经济担保书范文
2014/04/02 职场文书
难忘的一课教学反思
2014/04/30 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
德能勤绩廉个人总结
2015/02/14 职场文书
通知的格式范文
2015/04/27 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
导游词之清晏园
2019/11/22 职场文书