http://www.porter.com/fr/fr/product/648162|Sneakers
http://www.porter.com/fr/fr/product/642115|Boots
http://www.porter.com/fr/fr/product/642115|Flat_Shoes
http://www.porter.com/fr/fr/product/642115|Pumps
http://www.porter.com/fr/fr/product/642115|Sandals
http://www.porter.com/fr/fr/product/642115|Sneakers

-----------目标 将|左侧重复的变成---

http://www.porter.com/fr/fr/product/648162|Sneakers
http://www.porter.com/fr/fr/product/642115|Boots@Flat_Shoes@Pumps@Sandals@Sneakers

=====================================================================

<?php
$strs = file("cat.txt");
$strs = array_map('trim',$strs);
$strsc = count($strs);
for($i=0;$i<$strsc;$i++)
{
$keyexplode[] = explode('|',$strs[$i]);
}
//$keyexplodet = array(array('184007', "Flat_Shoes" ), array('184007', "Pumps" ), array('184008', "Sandals" ));
function assoc_unique($arr, $key)
{
$tmp_arr = array();
foreach($arr as $k => $v)
{
if(in_array($v[$key], $tmp_arr))//搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true
{
//echo "<hr/>--";
//print_r($v[$key]);
//print_r($tmp_arr);echo "---<hr/>";
unset($arr[$k][0]);
}
else {
$tmp_arr[] = $v[$key];
}
}
//sort($arr); //sort函数对数组进行排序
return $arr;
}
//print_r("<pre/>");
//print_r(assoc_unique($keyexplode,0));
$keyexplodenew = assoc_unique($keyexplode,0);
//print_r($keyexplodenew);
for($j=0;$j<count($keyexplodenew);$j++)
{
// print_r($j);
// print_r($keyexplodenew[$j]);
if(isset($keyexplodenew[$j][0]))
{
echo "<br/>".$keyexplodenew[$j][0].'|';
//array_merge($keyexplodenew[$j], $keyexplodenew[$j-1]);
}
else{echo '@';}
echo $keyexplodenew[$j][1];
}
//print_r($keyexplodenew);

php文件去重复,二维数组筛选的更多相关文章

  1. php上传excle文件,csv文件解析为二维数组

    解析上传的CSV文件不是什么难事,直接读取转成你想要的数组样子就OK了. public function putStoreStockIn ($filePath = '') { $file = fope ...

  2. C#读txt文件并写入二维数组中(txt数据行,列未知)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  3. Android 在资源文件(res/strings.xml)定义一维数组,间接定义二维数组

    经常我们会在资源文件(res/strings.xml)定义字符串,一维数组,那定义二维数组?直接定义二维数组没找到,可以间接定义. 其实很简单,看过用过一次就可以记住了,一维数组估计大家经常用到,但是 ...

  4. c语言中如何通过二级指针来操作二维数组

    通过二级指针去访问二维数组需要先给二级指针分配等同于二维数组行数的一维数组指针,然后把二维数组的每行首地址赋值给对应位置的一维指针上.之后就可以通过二维指针直接访问了. 参考代码如下,可以看具体注释辅 ...

  5. 论C语言中二级指针和二维数组之间的区别

    刚开始学习C语言的时候,觉得一个数组可以定义一个一级指针去访问,想当然的就觉得可以定义一个二级指针去访问二维数组.很显然这是错误的. 我们来看看C语言的数组在内存中的存储方式. 实际上C语言中的数组, ...

  6. C++二维数组讲解、二维数组的声明和初始化

    我们知道,一维空间是一条线,数学中用一条数轴来表达:二维空间是一个平面,数学中用平面坐标系来表达.那么二维数组又是什么样的呢? 线与面 我们用一个下标来描述一维数组中的某个元素,就好像在用数描述一条线 ...

  7. C指针与二维数组

    先贴上完整的代码: #include<stdio.h> int main(int argc, char *argv[]){ int a[3] [5]={1,2,3,4,5,6,7,8,9, ...

  8. php如何去掉二维数组中重复的元素?

    $arr=array("=>array("a","b")); 我想得到的结果是:只输出第一项(第一项和第三项相同,去第一项)和第二项这个怎么解决 ...

  9. php对二维数组进行相关操作(排序、转换、去空白等)

    php对二维数组进行相关操作(排序.转换.去空白等) 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-11-04   这篇文章主要介绍了php对二维数组进行相关操作,包括php对 ...

随机推荐

  1. 一.Maven的安装和配置整理

    Maven的安装和配置 1.1安装                 进入Maven官网的下载页面:http://maven.apache.org/download.cgi选择当前最新版本:" ...

  2. EM算法及其推广的要点

    1.EM算法是含有隐变量的变量的概率模型极大似然估计或极大后验概率估计的迭代算法,含有隐变量的概率模型的数据表示为$P(Y,Z|\theta)$.这里,$Y$是观测变量的数据,$Z$是隐变量的数据,$ ...

  3. 一个初学者的辛酸路程-socket编程-8

    前言: 你会发现会网络是多么幸福的事情 主要内容: socket 概念: socket本质上就是2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实现数据的互相传递.我们知道网络通信都是基于 ...

  4. 在java中json的使用案例

    import java.text.ParseException; import org.json.JSONArray; import org.json.JSONObject; public class ...

  5. qtp childObjects用法

    ChildObjects: Returns the collection of child objects contained within the object. F1帮助解释:返回当前调用对象的所 ...

  6. iOS7之后的文本高度封装

    #import "NSString+Util.h" @implementation NSString (Util) +(CGFloat)changeStationWidth:(NS ...

  7. 安装Postgresql踩过的坑

    PG安装相关的 1  系统语言的设置 PG的安装,和系统的locale设置有一定的关系,需要设置,如在.profile或.bashrc中 也可以运行下面的命令: dpkg-reconfigure lo ...

  8. 安装CocoaPods流程及常见问题(Xcode->homebrew->RVM->Ruby->CocoaPods)

    一.HomeBrew 1.(转)HomeBrew的安装和简单使用 http://blog.csdn.net/maojudong/article/details/7918291 2.homebrew的简 ...

  9. 浅谈position: absolute和position:relative

    一.在此先说一下文档流的概念: 1,文档流定义: 百度百科定义:文档流是文档中可显示对象在排列时所占用的位置. 大多网友的理解:元素的位置由元素在 (X)HTML 中的位置决定.将窗体自上而下分成一行 ...

  10. zoj 2193 poj 2585 Window Pains

    拓扑排序. 深刻体会:ACM比赛的精髓之处不在于学了某个算法或数据结构,而在于知道这个知识点但不知道这个问题可以用这个知识去解决!一看题目,根本想不到是拓扑排序.T_T...... #include& ...