PHP 二维数组去掉重复值并保持原结构
PHP 二维数组去掉重复值并保持原结构
直接上代码,解释很详细
//二维数组去掉重复值
function arrunique($a){
foreach($a[0] as $k => $v){ //二维数组的内层数组的键值都是一样,循环第一个即可
$ainner[]= $k; //先把二维数组中的内层数组的键值使用一维数组保存
}
foreach ($a as $k => $v){
$v =join("、",$v); //将 值用 顿号连接起来
$temp[$k] =$v;
} $temp =array_unique($temp); //去重
foreach ($temp as $k => $v){
$a = explode(",",$v); //拆分后的重组
$arr_after[$k]= array_combine($ainner,$a); //将原来的键与值重新合并
}
return $a;
}
就是先存下键值,然后使用join降维打击,然后用array_unique方法对一维去重,结果再用explode方法拆分,然后再array_combine方法组合键和值
array_combine()函数使用
php 两个数组合并,一个做键,一个做值
项目中遇到这么个情况,有两个数组: $afloor,$adata;
这两个数组合并为一个新数组:$acombine,使用$afloor中的值,为新数组的键名,$adata中的值为新数组相对应的值.
直接使用PHP array_combine() 函数就行了,array_combine()传入2个参数,array_combine(作为键的数组,作为值的数组)。
比如: $acombine = array_combine($afloor,$adata); 。
PHP 二维数组去掉重复值并保持原结构的更多相关文章
- 二维数组去除重复值和array_unique函数
今天遇到了一个问题,就是从数据库中去除的数组为一个二维数组,现在就是想将二位数组进行去重,但是在php中,对于一个一维数组,我们可以直接使用php的系统函数array_unique,但是这个函数不能对 ...
- php二维数组去除重复值
<?php //二维数组 $test["aa"] = array("id"=>"17","name"=> ...
- PHP 按二维数组的键值排序
/** * 按二维数组的键值排序 * @param unknown $array 二维数组 * @param unknown $key 二维数组的键值 * @param string $order 升 ...
- 使用一个for循环将N*N的二维数组的所有值置1
<?php // 使用一个for循环将N*N的二维数组的所有值置1 $n = ; $a = []; ;$i<$n*$n;$i++){ $a[$i/$n][$i%$n] = ; } prin ...
- PHP二维数组按照键值排序
在开发过程中,我们常常需要对二维数组按照数组的某个键来排序,这里提供两个封装好的方法,可以放到公共函数模块里以后需要的时候直接调用即可. /** * 二维数组按照键值降序排序 * @param arr ...
- php如何去掉二维数组中重复的元素?
$arr=array("=>array("a","b")); 我想得到的结果是:只输出第一项(第一项和第三项相同,去第一项)和第二项这个怎么解决 ...
- PHP如何去掉多维数组的重复值
1.定义函数 function array_unique_new($arr){ $t = array_map('serialize', $arr);//利用serialize()方法将数组转换为以字符 ...
- php 二维数组验证一个值是否存在
php 判断数字在二维数组里 $arr = array( array('a', 'b'), array('c', 'd') ); in_array('a', $arr); // 此时返回的永远都是 f ...
- PHP获取二维数组指定字段值的和
array_sum(array_column($arr, 'num')); //获取二维数组 num字段的和 $arr = [ [ 'device_uid' => '123456', 'num' ...
随机推荐
- Collection、List、Set、Map之间的关系
初学java,单个的接触有点迷糊,所以总结下他们的关系 一.关系 Collection --List:以特定顺序存储 --ArrayList.LinkList.Vector --Set:不能包含重复的 ...
- java string遇到的一个奇葩bug
String abc = "1"; HashMap<String, String> hMap = new HashMap<String, String>() ...
- 【中山市选2010】【BZOJ2467】生成树
Description 有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈. 在中心的这个n边圈的每一条边同一时候也是某一个五角形的一条边,一共同拥有n个不同的五角形.这些五角 ...
- 超级简单JS网页倒计时代码
<script type="text/javascript"> // JavaScript Document function ShowTimes(){ var Aft ...
- JAVA学习之 异常处理机制
今天就来说说java的异常处理机制,异常处理不是第一接触,尤其是写过非常多c#的代码,基本都会写到异常处理的代码,事实上c#的异常处理与java的异常处理基本都是一样的,仅仅是在一些细节上不是非常一样 ...
- github上Devstack的一些变动,截至8.20
从github下直接clone下来的代码在执行之前须要对一些文件进行改动,否则会出现关于REQUIREMENTS的错误 说明:代码前边是"-"号的,须要删除,代码前边是" ...
- DB-MySQL:MySQL 函数
ylbtech-DB-MySQL:MySQL 函数 1. MySQL 字符串函数返回顶部 1. MySQL 字符串函数 函数 描述 实例 ASCII(s) 返回字符串 s 的第一个字符的 ASCII ...
- python 3.x 学习笔记14 (socket_ssh and socket_文件传输)
ssh服务端 import socket,os server = socket.socket() server.bind(('localhost',6666)) server.listen() con ...
- hiho 1617 - 方格取数 - dp
题目链接 描述 给定一个NxN的方格矩阵,每个格子中都有一个整数Aij.小Hi和小Ho各自选择一条从左上角格子到右下角格子的路径,要求路径中每一步只能向右或向下移动,并且两条路径不能相交(除了左上右下 ...
- form表单里的坑
我们在写前端表单页面的时候,为了更好的SEO,我们会使用form标签,但是我们经常的情况是:我们并不需要form标签的一些默认事件,比如: 1.form内只有一个input标签的话,回车会触发表单的提 ...