php文件去重复,二维数组筛选
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文件去重复,二维数组筛选的更多相关文章
- php上传excle文件,csv文件解析为二维数组
解析上传的CSV文件不是什么难事,直接读取转成你想要的数组样子就OK了. public function putStoreStockIn ($filePath = '') { $file = fope ...
- C#读txt文件并写入二维数组中(txt数据行,列未知)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- Android 在资源文件(res/strings.xml)定义一维数组,间接定义二维数组
经常我们会在资源文件(res/strings.xml)定义字符串,一维数组,那定义二维数组?直接定义二维数组没找到,可以间接定义. 其实很简单,看过用过一次就可以记住了,一维数组估计大家经常用到,但是 ...
- c语言中如何通过二级指针来操作二维数组
通过二级指针去访问二维数组需要先给二级指针分配等同于二维数组行数的一维数组指针,然后把二维数组的每行首地址赋值给对应位置的一维指针上.之后就可以通过二维指针直接访问了. 参考代码如下,可以看具体注释辅 ...
- 论C语言中二级指针和二维数组之间的区别
刚开始学习C语言的时候,觉得一个数组可以定义一个一级指针去访问,想当然的就觉得可以定义一个二级指针去访问二维数组.很显然这是错误的. 我们来看看C语言的数组在内存中的存储方式. 实际上C语言中的数组, ...
- C++二维数组讲解、二维数组的声明和初始化
我们知道,一维空间是一条线,数学中用一条数轴来表达:二维空间是一个平面,数学中用平面坐标系来表达.那么二维数组又是什么样的呢? 线与面 我们用一个下标来描述一维数组中的某个元素,就好像在用数描述一条线 ...
- C指针与二维数组
先贴上完整的代码: #include<stdio.h> int main(int argc, char *argv[]){ int a[3] [5]={1,2,3,4,5,6,7,8,9, ...
- php如何去掉二维数组中重复的元素?
$arr=array("=>array("a","b")); 我想得到的结果是:只输出第一项(第一项和第三项相同,去第一项)和第二项这个怎么解决 ...
- php对二维数组进行相关操作(排序、转换、去空白等)
php对二维数组进行相关操作(排序.转换.去空白等) 投稿:lijiao 字体:[增加 减小] 类型:转载 时间:2015-11-04 这篇文章主要介绍了php对二维数组进行相关操作,包括php对 ...
随机推荐
- iOS TableView的分割线
if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView setSeparato ...
- 从安装.net Core 到helloWord(Mac上)
最近听说微软 正式发不了.netCore 1.0 于是就安装了 并安装了vs Code 用于编写一些.net程序 一. .netCore的安装: 首先需要通过brew安装openssl(相信homeB ...
- 第一个Android crackme(2016-05)
第一个Android crackme 0x00 背景 最近在学习Android的逆向,把基本的环境搭好后,看了看<第一行代码--Android>,然后就按照非虫大牛的<Android ...
- JavaScript DOM编程艺术-学习笔记(第二章)
1.好习惯从末尾加分号:开始 2.js区分大小写 3.程序界万能的命名法则:①不以,数字开头的数字.字母.下划线.美元符号 ②提倡以下划线命名法来命名变量,以驼峰命名法来命名函数.但是到了公司往往会身 ...
- OpenCV FileStorage 使用记录
FileStorage OpenCV 中的 FileStorage 类能够读写硬盘中的.xml和.yaml文件,这里我们只讨论对 .xml 的以下几种操作: 写入(FileStorage::WRITE ...
- Devstack single node Installation on VM
Last three days, I want to install devstack on my virtual machine on Vmware Workstation.The VM'syste ...
- win10锁屏壁纸路径
C:\Users\ShanYu\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalS ...
- Shell错误[: missing `]'
shell 文件运行时出现错误: [: missing `]' 原因可能是 if [ ! -d $date] then mkdir ./$date fi 代码中的 ] 方括号内部必须要有个空格 ...
- hdu1012
#include<iostream>#include<stdio.h> using namespace std; int jiechen(int n){ int i; ...
- crontab格式使用方式
第1列分钟1-59第2列小时1-23(0表示子夜)第3列日1-31第4列月1-12第5列星期0-6(0表示星期天)第6列要运行的命令 下面是crontab的格式:分 时 日 月 星期 要运行的命令 这 ...