PHP中提供了array_unique函数去除一维数组中的重复项,但是我们实际的项目开发中,从数据库select查询出来的数组经常是二维的;
这里面可能有重复项,这就需要我们自己定义函数进行去除重复项。
思路:
1、首先获取第二维数组的键名,保存在一个数组里面(假设命名为keyname_Arr);
2、然后使用一个符号做分隔符(比如‘-’),将二维数组里面的键值拼接成一个字符串,生成一个临时数组;
3、然后使用【array_unique()函数】比较生成的这个临时数组,去掉里面的相同字符串;
4、然后将去除重复后的数组重新组装成二维数组:
在foreach()里面循环使用【explode()函数】,按‘-’分隔符拆分字符串;
同时在foreach()里面对拆分出来的字符串所形成的【新的临时数组tempnew】,再使用一个foreach( $tempnew as $tempk =>$tempv),
循环赋值 $output[ $k ][ $keyname_Arr[ $tempk ] ] = tempv ;
6、最后,$output即使去除重复后的二维数组。
来点实际代码理解一下:
$keyname_Arr= array_keys(end($resource_arr)); //存储内层数组的键名<br /><br />//使用'-'作为分隔将数组拼接成字符串<br />foreach ($resource_arr as $v){<br /> $v = join("-",$v);<br /> $temp[] = $v;<br />}<br /><br />//去掉重复的字符串,也就是重复的一维数组<br />$temp = array_unique($temp);<br /><br />//再将拆开的数组重新组装<br />foreach ($temp as $k => $v)<br />{<br /> $tempnew = explode("-",$v);//拆分去重之后的字符串<br /><br /> foreach($tempnew as $tempkey => $tempval)<br /> $output[$k][$keyname_Arr[$tempkey]] = $tempval;<br />}
Cion.记载于2016/05/03夜

Python中的XML数据转换为CSV格式XML(ExtensibleMarkupLanguage)是一种可扩展标记语言,常用于数据的存储和传输。而CSV(CommaSeparatedValues)则是一种以逗号分隔的文本文件格式,常用于数据的导入和导出。在处理数据时,有时需要将XML数据转换为CSV格式以便于分析和处理。Python作为一种功能强大

日期和时间值的操作是编程的一个重要方面,Python语言为此提供了一个有用的内置模块,称为datetime。但是,在某些情况下,可能需要将DateTime对象转换为整数值,以便执行特定的操作或计算。在Python中将DateTime转换为整数有多种方法,每种方法都有自己的优点和缺点。在本文中,我们将深入研究这些方法并检查每种方法何时适合使用。读完本文后,您将全面了解如何在Python中有效地将DateTime对象转换为整数,并能够为您的特定编程任务选择最合适的方法。方法一:使用timestamp

MATLAB是一种广泛应用于工程和科学领域的流行编程语言,但由于其灵活性和适应性,Python正迅速成为许多程序员的首选语言。如果您想将MATLAB代码转换为Python代码,一开始可能会感到非常困难。然而,通过正确的知识和方法,您可以使这个过程变得更加容易。以下是一些步骤,帮助您将MATLAB代码转换为Python:步骤1:熟悉Python语法Python和MATLAB具有独特的语法,因此在开始转换代码之前,您需要熟悉Python语法。花一些时间了解Python语法基础知识,包括变量、数据类型

IPython笔记本是一种非常流行的科学计算和数据分析工具,被研究人员、分析师和程序员广泛使用。通过允许用户将代码、文本和交互式可视化集成到单个文档中,它们使探索数据、开发模型和交流结果变得简单。然而,与其他人共享IPython笔记本可能很困难,特别是当接收者缺乏运行它们所需的软件或专业知识时。应对这一挑战的一个解决方案是将IPython笔记本转换为PDF和HTML,它们受到普遍支持,并且可以在任何设备上轻松访问。在本文中,我们将深入研究将IPython笔记本转换为PDF和HTML的三种方法,其

使用json.Marshal函数将结构体转换为JSON字符串在Go语言中,可以使用json.Marshal函数将结构体转换为JSON字符串。结构体是一种由多个字段组成的数据类型,而JSON是一种常用的轻量级数据交换格式。将结构体转换为JSON字符串可以方便地在不同系统之间交换数据。下面是一个示例代码:packagemainimport(&q

这是一个将字符串转换为大写字母的C语言程序示例:示例#include<stdio.h>#include<string.h>intmain(){ chars[100]; inti; printf("Enterastring:"); gets(s); for(i=0;s

在Golang编程中,byte、rune和string类型是非常基础、常见的数据类型。它们在处理字符串、文件流等数据操作时发挥着重要作用。而在进行这些数据操作时,我们通常需要对它们进行相互的转换,这就需要掌握一些转换技巧。本文将介绍Golang函数的byte、rune和string类型转换技巧,旨在帮助读者更好地理解这些数据类型,并能够熟练地在编程实践中应用

Vue中实现HTML到HTMLDocx的转换:一种高效的文档生成方式在现代web开发中,我们经常会遇到将HTML内容转换为其他格式的需求,其中一种常见的需求是将HTML转换为Word文档。本文将介绍一种在Vue中实现HTML到HTMLDocx转换的高效方式,并提供相关代码示例和演示。HTMLDocx是一种用于将HTML转换为Word文档的JavaScript


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Atom editor mac version download
The most popular open source editor

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Dreamweaver CS6
Visual web development tools
