백엔드 개발 PHP 문제 PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약

PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약

Nov 05, 2021 pm 12:09 PM
php 정렬

이전 기사 "PHP 배열 작업: 배열에서 검색 요소 및 키 이름 일치"에서 PHP의 배열 작업 검색 및 일치에 대한 관련 지식을 자세히 소개했습니다. 이 기사에서는 PHP의 배열 병합에 대해 계속해서 살펴보겠습니다. 일반적인 작업. 모두에게 도움이 되기를 바랍니다!

PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약

이전 기사에서는 PHP의 배열 작업을 위한 in_array 함수, array_search 함수 및 array_key_exists 함수를 소개했습니다. 다음으로 PHP 개발 작업에서 배열과 관련된 몇 가지 일반적인 함수 작업을 계속해서 살펴보겠습니다. in_array函数、array_search函数和array_key_exists函数他们都可以用来搜索和匹配数组中的元素,接下来我们可继续来看一下在PHP的开发工作中与数组相关的常用的一些函数操作。

下面我们就介绍一下PHP中怎样完成数组之间的合并,想要实现这样的操作我们需要通过array_merge函数和array_merge_recursive函数。下面我们就分别来介绍一下这两个函数。

array_merge()函数-覆盖前面相同键名的数组元素

在PHP中我们可以通过array_merge()函数来合并数组,也就是将多个数组中的元素合并到一个数组中,array_merge函数的基本语法格式如下:

array_merge(array1,array2,array3...)
로그인 후 복사

其中需要注意的是:参数array123就是用来进行合并的数组。通过该函数能够合并多个数组,其中如果两个元素或者说有多个元素他们有着相同的键名,合并之后他们的键名是最后的元素会覆盖其他元素。

通过该函数也能够合并一个数组,没错,一个数组怎么说合并呢,这时候说的是如果函数输入的只有一个数组,并且这个数组的键名是整数,当通过该函数“合并”之后输出的新数组它的键名是从0开始进行的重新索引。

接下来我们通过示例来简单的看一下array_merge函数的使用,示例如下:

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge($a1,$a2));
?>
로그인 후 복사

输出结果:

PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약

在上述示例中,两个要进行合并的数组中都有键名为“b”的元素,可以看到最后的输出结果中最后一个键名为“b”的元素“yellow”覆盖了前面的元素,所以最后输出的结果中只有三个元素。

下面我们再来看一下“合并”一个数组的操作,示例如下:

<?php
$a=array(3=>"red",4=>"green");
print_r(array_merge($a));
?>
로그인 후 복사

输出结果:

PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약

在上述示例中,在需要“合并”的一个数组中,该数组的键名都是整数并不是从 0开始进行索引的,当通过array_merge函数合并之后,该数组的键名改变从0开始索引。

<strong><span style="max-width:90%">array_merge_recursive</span></strong>函数-不会覆盖相同键名数组元素

在PHP中不仅array_merge函数能够合并数组,需要知道的是array_merge_recursive函数也能够把一个或者多个数组合并成一个数组,两者之间并没有太大的区别,需要知道的区别就是:

当两个需要进行合并的数组中有相同键名的元素,两个函数的处理方法不一样,上文中的示例也说了,array_merge函数合并之后他们的键名是最后的元素会覆盖其他元素;但是array_merge_recursive函数却能够将相同的键名元素递归成一个数组,并不会覆盖掉。

我们用上文中的示例来看一下,示例如下:

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge($a1,$a2));
echo  &#39;<br/>&#39;;
print_r(array_merge_recursive($a1,$a2));
?>
로그인 후 복사

输出结果:

PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약

通过上述示例就能够看出两个函数的区别:需要注意的是,相同的两组数组,通过不同的函数进行合并,输出的结果不同,通过array_merge函数进行合并,相同的元素键名会被覆盖掉,通过array_merge_recursive函数合并的元素,键名不会被覆盖掉。

还有就是,通过array_merge_recursive函数来进行“合并”一个数组的话,结果和array_merge函数一样会从0开始重新进行索引。

示例如下:

<?php
$a=array(3=>"red",4=>"green");
print_r(array_merge_recursive($a));
?>
로그인 후 복사

输出结果:

PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약

由上述示例便能看出array_merge_recursive函数和array_merge

이제 PHP에서 배열 병합을 완료하는 방법을 소개합니다. 이러한 작업을 수행하려면 array_merge 함수와 array_merge_recursive 함수를 사용해야 합니다. 아래에서는 이 두 가지 기능을 별도로 소개하겠습니다. 🎜🎜array_merge() 함수 - 이전 배열 요소를 동일한 키 이름으로 덮어씁니다🎜🎜 PHP에서는 array_merge() 함수를 통해 배열을 병합할 수 있습니다. 즉, 여러 배열의 요소를 하나의 배열로 병합할 수 있습니다. array_merge 함수의 기본 구문 형식은 다음과 같습니다. 다음은 다음과 같습니다. < br/>🎜
<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
$a3=$a1+$a2;
print_r($a3);
?>
로그인 후 복사
로그인 후 복사
🎜주의해야 할 점은: 매개변수 array123은 병합에 사용되는 배열입니다. 이 함수는 여러 배열을 병합할 수 있습니다. 두 요소 또는 여러 요소가 동일한 키 이름을 갖는 경우 병합 후 해당 키 이름이 있는 마지막 요소가 다른 요소를 덮어씁니다.
🎜🎜이 함수를 통해 배열을 병합할 수도 있습니다. 네, 배열 병합을 어떻게 말하나요? 이때 제가 말하고자 하는 것은 함수 입력이 단 하나의 배열이고 이 배열의 키 이름이라는 것입니다. 이 전달 시 정수입니다. "병합" 함수 이후의 새 배열 출력의 키는 0부터 시작하여 다시 색인화됩니다. 🎜🎜다음으로 예시를 통해 array_merge 함수의 사용법을 간단히 살펴보겠습니다. 예시는 다음과 같습니다. 🎜
array_combine(keys,values);
로그인 후 복사
로그인 후 복사
🎜출력 결과:
🎜🎜PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약🎜🎜위의 예에서 두 배열 모두 최종 출력 결과에서 키 이름이 "b"인 마지막 요소 "yellow"가 이전 요소를 덮고 있음을 알 수 있습니다. 최종 출력 결과. 🎜🎜배열을 "병합"하는 작업을 살펴보겠습니다. 예는 다음과 같습니다. 🎜
<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
$a3 = array_combine($a1, $a2);
print_r($a3);
?>
로그인 후 복사
로그인 후 복사
🎜출력 결과:
🎜🎜PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약🎜🎜위의 예에서 "병합"되어야 하는 배열에서 키 이름은 배열의 인덱스는 모두 정수입니다. 인덱싱은 0부터 시작하지 않습니다. array_merge 함수를 통해 병합한 후에는 배열의 키 이름이 0부터 인덱싱을 시작하도록 변경됩니다. 🎜🎜<strong><span style="max-width:90%">array_merge_recursive</span></strong> 함수 - 동일한 키 이름으로 배열 요소를 덮어쓰지 않습니다.🎜🎜PHP에서는 array_merge 함수가 배열을 병합할 수 있을 뿐만 아니라 array_merge_recursive 함수도 알아야 합니다. 하나 이상의 배열을 하나의 배열로 병합할 수도 있습니다. 둘 사이에는 큰 차이가 없습니다. 알아야 할 차이점은 다음과 같습니다. 🎜🎜두 배열에 병합해야 하는 동일한 키 이름을 가진 요소가 있는 경우 , 두 함수의 처리 방법이 다릅니다. 위의 예에서는 array_merge 함수가 병합된 후 마지막 키 이름을 가진 요소가 다른 요소를 덮어쓰게 됩니다. /code> 함수는 동일한 키 이름을 가진 요소를 배열로 반복적으로 병합할 수 있으며 덮어쓰지 않습니다. 🎜🎜위의 예를 살펴보겠습니다. 예는 다음과 같습니다. 🎜rrreee🎜출력 결과:
🎜🎜PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약🎜🎜위의 예를 통해 두 기능의 차이점을 확인할 수 있습니다. 동일한 두 세트가 있다는 점에 유의해야 합니다. 여러 개의 배열을 병합하는 데 사용되며, array_merge 함수를 통해 병합하면 array_merge_recursive를 통해 요소를 병합할 때 동일한 요소 키 이름이 덮어쓰여집니다. 함수를 사용하면 키 이름이 달라집니다. 🎜🎜또한 array_merge_recursive 함수를 통해 배열을 "병합"하면 array_merge 함수와 마찬가지로 결과가 0부터 다시 색인화됩니다. 🎜🎜예제는 다음과 같습니다. 🎜rrreee🎜출력 결과:
🎜🎜PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약🎜🎜위의 예에서 array_merge_recursive 함수와 array_merge의 주요 차이점을 볼 수 있습니다. 함수는 동일한 키를 덮어쓸지 여부입니다. 🎜

<strong><span style="max-width:90%">+</span></strong>合并数组-覆盖后面相同键名的数组元素

通过+来进行数组的合并可以说是最简单的一种数组合并方法了,让我们直接通过示例来看一下用法,示例如下:

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
$a3=$a1+$a2;
print_r($a3);
?>
로그인 후 복사
로그인 후 복사

输出结果:

PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약

由上述示例能够看出,通过+的方式来合并数组,和通过array_merge函数的方式来合并数组的区别就在于:

  • array_merge函数遇到相同键名的不同数组元素,合并之后会被覆盖掉,被覆盖的是前面的数组元素;

  • +遇到相同键名的不同数组元素进行合并,合并之后也会被覆盖掉,但是覆盖的元素是后面的数组元素。

<strong><span style="font-size: 20px;">array_combine</span></strong>函数-一组做键名一组做键值

在PHP中还有一个函数是array_combine函数,它能够将两个数组进行合并,并且其中一个数组的元素是合并后新数组的键名,另一个数组中的元素是合并后新数组的键值。

array_combine函数的基本语法格式如下:

array_combine(keys,values);
로그인 후 복사
로그인 후 복사

其中需要注意的是,参数keys表示的就是作为键名的数组,参数value表示的就是作为键值的数组,这两个数组中的元素个数一定要相同,也就是两个数组合并之后需要每个键名都有相对应的键值。

通过array_combine函数合并成功的话,返回的结果是合并成功后的数组,如果两个数组中的元素个数不相同那么返回的结果就是flase。

下面我们通过示例来看一下array_combine函数的应用,示例如下:

<?php
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
$a3 = array_combine($a1, $a2);
print_r($a3);
?>
로그인 후 복사
로그인 후 복사

输出结果:

PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약

由此我们便通过array_combine函数完成了两个数组的合并,并且其中一个数组作为键名,另一个数组作为键值。

大家如果感兴趣的话,可以点击《PHP视频教程》进行更多关于PHP知识的学习。

위 내용은 PHP 배열 작업에서 배열을 병합하는 방법은 무엇입니까? 일반적인 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Ubuntu 및 Debian용 PHP 8.4 설치 및 업그레이드 가이드 Dec 24, 2024 pm 04:42 PM

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP 날짜 및 시간 CakePHP 날짜 및 시간 Sep 10, 2024 pm 05:27 PM

cakephp4에서 날짜와 시간을 다루기 위해 사용 가능한 FrozenTime 클래스를 활용하겠습니다.

CakePHP 파일 업로드 CakePHP 파일 업로드 Sep 10, 2024 pm 05:27 PM

파일 업로드 작업을 위해 양식 도우미를 사용할 것입니다. 다음은 파일 업로드의 예입니다.

CakePHP 토론 CakePHP 토론 Sep 10, 2024 pm 05:28 PM

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP 유효성 검사기 만들기 CakePHP 유효성 검사기 만들기 Sep 10, 2024 pm 05:26 PM

컨트롤러에 다음 두 줄을 추가하면 유효성 검사기를 만들 수 있습니다.

CakePHP 로깅 CakePHP 로깅 Sep 10, 2024 pm 05:26 PM

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 PHP 개발을 위해 Visual Studio Code(VS Code)를 설정하는 방법 Dec 20, 2024 am 11:31 AM

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

CakePHP 빠른 가이드 CakePHP 빠른 가이드 Sep 10, 2024 pm 05:27 PM

CakePHP는 오픈 소스 MVC 프레임워크입니다. 이를 통해 애플리케이션 개발, 배포 및 유지 관리가 훨씬 쉬워집니다. CakePHP에는 가장 일반적인 작업의 과부하를 줄이기 위한 여러 라이브러리가 있습니다.

See all articles