백엔드 개발 PHP 튜토리얼 PHP输出数组中重名的元素的几种处理方法_PHP

PHP输出数组中重名的元素的几种处理方法_PHP

Jun 01, 2016 pm 12:10 PM
요소

1.可以直接用php的内置函数array_intersect()
array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
array_intersect() 返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。注意键名保留不变。
代码:
复制代码 代码如下:
$array1 = array("a" => "green", "red", "blue");
$array2 = array("b" => "green", "yellow", "red");
$result = array_intersect($array1, $array2);
?>

输出结果:
Array( [a] => green [0] => red)
2.也可以自己写一个算法:
复制代码 代码如下:
function my_array_same($a){
$b = array_unique($a);
$r = array_diff_key($a,$b);
echo "
"; <br>$k=var_dump(array_unique($r)); <br>return $k; <br>} <br>$a = array("red", "green", "pink", "red", "yellow","pink", "red"); <br>$r=my_array_same($a); <br>var_dump(array_unique($r)); <br>?> <br> <br>输出结果: <br>array(2) { <br>[3]=> <br>string(3) "red" <br>[5]=> <br>string(4) "pink" <br>} <br><strong>3.还可以这么写: <br></strong><u>复制代码</u> 代码如下: <br><?php <BR>function my_array_intersect($arr1,$arr2){ <br>for($i=0;$i<count>$temp[]=$arr1[$i]; <br>} <br>for($i=0;$i<count>$temp[]=$arr2[$i]; <br>} <br>sort($temp); <br>$get=array(); <br>for($i=0;$i<count>if($temp[$i]==$temp[$i+1]) <br>$get[]=$temp[$i]; <br>} <br>return $get; <br>} <br>$array1 = array("green", "red", "blue"); <br>$array2 = array("green", "yellow", "red"); <br>echo "<pre class="brush:php;toolbar:false">"; <br>print_r(my_array_intersect($array1, $array2)); <br>echo "<pre class="brush:php;toolbar:false">
로그인 후 복사
";
?>

如果是一维的数组,第三种算法比第一种快点.上述算法都适用于一维的数组,那么多维数组怎么查找相同的元素呢?

思路:可以把多维的数组转化成一维的数组,然后再利用上述算法输出。

代码:
复制代码 代码如下:
function toarr($arr){ //对数组进行递归,以字符串形式返回
foreach ($arr as $k=>$v){
if (!is_array($v)) {
$str.=$v." ";
}
else{
$str.=toarr($v);
}
}
return $str;
}/*递归函数结束*/

上式把多维数组转化成字符串,然后利用expode函数转化成一维数组即可。

联想一下,数据库返回某一字段重名的值也是这个道理,当然通过sql语句也能够实现。
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

JavaFX에서 다른 경로 요소는 무엇입니까? JavaFX에서 다른 경로 요소는 무엇입니까? Aug 28, 2023 pm 12:53 PM

javafx.scene.shape 패키지는 다양한 2D 모양을 그릴 수 있는 몇 가지 클래스를 제공하지만 이는 선, 원, 다각형, 타원 등과 같은 기본 모양일 뿐입니다. 따라서 복잡한 모양을 그리려면 사용자 정의 모양이 필요합니다. Path 클래스를 사용합니다. Path 클래스 Path 클래스 모양을 나타내는 이 기하학적 윤곽선을 사용하여 사용자 정의 경로를 그릴 수 있습니다. 사용자 정의 경로를 그리기 위해 JavaFX는 javafx.scene.shape 패키지에서 클래스로 사용할 수 있는 다양한 경로 요소를 제공합니다. LineTo - 이 클래스는 경로 요소 선을 나타냅니다. 현재 좌표에서 지정된(새) 좌표까지 직선을 그리는 데 도움이 됩니다. HlineTo - 테이블입니다

CSS 전환 효과: 요소의 슬라이딩 효과를 얻는 방법 CSS 전환 효과: 요소의 슬라이딩 효과를 얻는 방법 Nov 21, 2023 pm 01:16 PM

CSS 전환 효과: 요소의 슬라이딩 효과를 얻는 방법 소개: 웹 디자인에서 요소의 동적 효과는 사용자 경험을 향상시킬 수 있으며 그중 슬라이딩 효과는 일반적이고 인기 있는 전환 효과입니다. CSS의 전환 속성을 통해 요소의 슬라이딩 애니메이션 효과를 쉽게 얻을 수 있습니다. 이 글에서는 CSS 전환 속성을 사용하여 요소의 슬라이딩 효과를 얻는 방법을 소개하고 독자가 더 잘 이해하고 적용할 수 있도록 구체적인 코드 예제를 제공합니다. 1. CSS 전환 속성 소개 전환 CSS 전환 속성 tra

C++ 프로그램: 배열에 요소 추가 C++ 프로그램: 배열에 요소 추가 Aug 25, 2023 pm 10:29 PM

배열은 연속적인 메모리 위치에 동질적인 데이터를 보관하는 데 사용되는 선형 순차 데이터 구조입니다. 다른 데이터 구조와 마찬가지로 배열에는 효율적인 방법으로 요소를 삽입, 삭제, 탐색 및 업데이트할 수 있는 기능이 있어야 합니다. C++에서 배열은 정적입니다. C++에서는 일부 동적 배열 구조도 제공합니다. 정적 배열의 경우 Z 요소가 배열에 저장될 수 있습니다. 지금까지 n개의 요소가 있습니다. 이 기사에서는 C++에서 배열 끝에 요소를 삽입하는 방법(추가 요소라고도 함)을 알아봅니다. 예시를 통해 개념을 이해해 보세요. 'this' 키워드의 사용법은 다음과 같습니다. GivearrayA=[10,14,65,85,96,12,35,74,69]Afterin

html5에서 지원하지 않는 요소는 무엇입니까? html5에서 지원하지 않는 요소는 무엇입니까? Aug 11, 2023 pm 01:25 PM

HTML5가 지원하지 않는 요소는 순수 표현 요소, 프레임 기반 요소, 애플리케이션 요소, 교체 가능한 요소 및 이전 양식 요소입니다. 자세한 소개: 1. 글꼴, 중심, s, u 등과 같은 순수 표현 요소는 일반적으로 텍스트 스타일 및 레이아웃을 제어하는 ​​데 사용됩니다. 2. 프레임, 프레임셋 및 noframes와 같은 프레임 기반 요소입니다. 3. 애플릿, isinde 등 애플리케이션 관련 요소.

CSS 변환: 요소의 회전 효과를 얻는 방법 CSS 변환: 요소의 회전 효과를 얻는 방법 Nov 21, 2023 pm 06:36 PM

CSS 변환: 요소의 회전 효과를 얻으려면 특정 코드 예제가 필요합니다. 웹 디자인에서 애니메이션 효과는 사용자 경험을 개선하고 사용자의 관심을 끄는 중요한 방법 중 하나이며 회전 애니메이션은 가장 고전적인 방법 중 하나입니다. CSS에서는 "transform" 속성을 사용하여 회전을 포함한 요소의 다양한 변형 효과를 얻을 수 있습니다. 이 기사에서는 CSS "변환"을 사용하여 요소의 회전 효과를 얻는 방법을 자세히 소개하고 구체적인 코드 예제를 제공합니다. 1. CSS의 “transf”를 사용하는 방법

CSS를 사용하여 요소의 투명도 그라데이션 효과를 얻는 방법 CSS를 사용하여 요소의 투명도 그라데이션 효과를 얻는 방법 Nov 21, 2023 pm 01:38 PM

CSS를 사용하여 요소의 투명도 그라디언트 효과를 얻는 방법 웹 개발에서 웹 페이지 요소에 전환 효과를 추가하는 것은 사용자 경험을 향상시키는 중요한 수단 중 하나입니다. 투명도의 그라데이션 효과는 페이지를 더 매끄럽게 만들 뿐만 아니라 요소의 주요 내용을 강조할 수도 있습니다. 이 기사에서는 CSS를 사용하여 요소의 투명도 그라데이션 효과를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. CSS 전환 속성 사용하기 요소의 투명도 그라데이션 효과를 얻으려면 CSS 전환 속성을 사용해야 합니다. 티

Jquery로 요소를 제거하는 방법 Jquery로 요소를 제거하는 방법 Feb 17, 2023 am 09:49 AM

jquery로 요소를 제거하는 방법: 1. jQuery 제거() 메소드를 통해 선택한 요소와 해당 하위 요소를 삭제합니다. 구문은 "$("#div1").remove();"입니다. empty() 메소드. 선택한 요소의 하위 요소이며 구문은 "$("#div1").empty();"입니다.

HTML과 CSS를 사용하여 고정된 탐색 메뉴로 레이아웃을 구현하는 방법 HTML과 CSS를 사용하여 고정된 탐색 메뉴로 레이아웃을 구현하는 방법 Oct 26, 2023 am 11:02 AM

HTML과 CSS를 사용하여 고정 탐색 메뉴가 있는 레이아웃을 구현하는 방법 최신 웹 디자인에서 고정 탐색 메뉴는 일반적인 레이아웃 중 하나입니다. 탐색 메뉴를 항상 페이지 상단이나 측면에 유지하여 사용자가 웹 콘텐츠를 편리하게 탐색할 수 있도록 합니다. 이 기사에서는 HTML과 CSS를 사용하여 고정 탐색 메뉴가 있는 레이아웃을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 웹페이지의 콘텐츠와 탐색 메뉴를 표시하는 HTML 구조를 만들어야 합니다. 다음은 간단한 예입니다.

See all articles