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 10 PHP
php 将excel导入mysql
Nov 09 PHP
解析:通过php socket并借助telnet实现简单的聊天程序
Jun 18 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
php调用C代码的实现方法
Mar 11 PHP
通过curl模拟post和get方式提交的表单类
Apr 23 PHP
php导入大量数据到mysql性能优化技巧
Dec 29 PHP
php创建桌面快捷方式实现方法
Dec 31 PHP
Symfony2开发之控制器用法实例分析
Feb 05 PHP
php实现产品加入购物车功能(1)
Jul 23 PHP
PHP迭代器和生成器用法实例分析
Sep 28 PHP
php 解析非标准json、非规范json
Apr 01 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生成静态页面教程
2012/01/10 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
php版交通银行网银支付接口开发入门教程
2016/09/26 PHP
php实现博客,论坛图片防盗链的方法
2016/10/15 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
php在linux环境中如何使用redis详解
2020/12/15 PHP
event.srcElement 用法笔记e.target
2009/12/18 Javascript
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
js面向对象之静态方法和静态属性实例分析
2015/01/10 Javascript
jQuery使用EasyUi实现三级联动下拉框效果
2017/03/08 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
关于ES6箭头函数中的this问题
2018/02/27 Javascript
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
HTML+JS实现“代码雨”效果源码(黑客帝国文字下落效果)
2020/03/17 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
js 实现碰撞检测的示例
2020/10/28 Javascript
python爬虫_自动获取seebug的poc实例
2017/08/05 Python
Python实现正整数分解质因数操作示例
2018/08/01 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
python中pathlib模块的基本用法与总结
2020/08/17 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
提供世界各地便宜的机票:Sky-tours
2016/07/21 全球购物
工业设计专业个人求职信范文
2013/12/28 职场文书
关于中国梦的演讲稿
2014/04/23 职场文书
合作协议书模板
2014/10/10 职场文书
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL