목차
1. 배열 파괴 : 프로처럼 값을 추출합니다
인덱스 배열 파괴
연관 배열 파괴
2. 배열에서 스프레드 연산자 ( ... ) 사용
풀기 배열 풀기
연관 배열과
3. 파괴와 기능을 결합합니다
기능 호출에 스프레드 사용
foreach 루프의 파괴
4. 일반적인 함정과 팁
최종 생각
백엔드 개발 PHP 튜토리얼 PHP 배열 파괴 및 스프레드 연산자 마스터 링

PHP 배열 파괴 및 스프레드 연산자 마스터 링

Jul 25, 2025 am 04:44 AM
PHP Syntax

PHP의 배열 해체 및 확장 연산자는 간결한 구문을 통해 코드 가독성 및 유연성을 향상시킬 수 있습니다. 1. 배열 해체는 인덱스 및 연관 배열에서 값을 추출하는 것을 지원합니다. [, $ 3] = $ colors와 같은 빈 자리 표시자를 통해 요소를 건너 뛸 수 있습니다. 연관 배열 해체에는 [ 'name'=> $ name] = $ user와 같은 => 일치 키가 필요하며, 이는 변수 이름을 바꾸고 누락 된 키를 처리하기 위해 기본값을 설정하는 것을 지원합니다. 2. 연산자 확장 연산자 (...)는 대부분의 조합 및 연관 배열 덮어 쓰기를 지원하는 [... $ colors, 'blue']와 같은 배열을 확장하고 병합 할 수 있지만 후속 키는 전자를 덮어 쓰고 다시 표시하지 않습니다. 3. 함수의 logmessages (... $ message)와 같은 매개 변수를 전달하고 foreach의 foreach ($ user as [ 'name'=> $ name])와 같은 해체를 위해 데이터 처리를 단순화합니다. 4. 파괴는 트래버스 가능한 어레이에만 적합하다는 점에 유의하십시오. 누락 된 키는 경고를 유발합니다. 기본값을 설정하는 것이 좋습니다. 확장 작업은 중첩 어레이를 평평하게하지 않습니다. 요컨대, PHP 7.4의 이러한 특징은 구성 추출, 파라미터 처리, 숫자 조합 및 루프 단순화에 적합하여 코드 표현식을 크게 향상시킵니다.

PHP 배열 파괴 및 스프레드 연산자 마스터 링

PHP의 어레이 파괴 및 스프레드 연산자는 특히 복잡한 데이터 구조 또는 기능 인수를 다룰 때 어레이를 더 깨끗하고 직관적으로 작업 할 수있는 강력한 기능입니다. PHP는 전통적 으로이 영역에서 JavaScript 또는 Python보다 더 장점 이었지만 최근 버전 (특히 PHP 7.4)은 다른 언어에 더 가깝게하는 현대적인 구문을 추가했습니다.

실제 사례와 일반적인 사용 사례와 함께 배열 파괴 및 PHP의 스프레드 연산자를 효과적으로 사용하는 방법을 세분화합시다.


1. 배열 파괴 : 프로처럼 값을 추출합니다

배열 파괴를 사용하면 배열에서 요소를 추출하여 변수에 직접 할당 할 수 있습니다. 이것은 인덱스 된 배열관련된 배열 모두에서 작동합니다.

인덱스 배열 파괴

 $ colors = [ '빨간색', '녹색', '파란색'];
[$ First, $ Second, $ Third] = $ colors;

echo $ first; // '빨간색'
echo $ second; // '녹색'

빈 자리 표시자를 사용하여 요소를 건너 뛸 수 있습니다.

 [,, $ 3] = $ colors;
Echo $ Third; // '파란색'

연관 배열 파괴

키를 일치시켜 관련 배열을 파괴 할 수 있습니다.

 $ user = [
    '이름'=> 'Alice',
    'Age'=> 30,
    '역할'=> '개발자'
];

[ 'name'=> $ name, 'age'=> $ age] = $ user;

echo $ 이름; // '앨리스'
echo $ age; // 30

? 참고 : 구문은 변수에 대한지도 키에 할당의 왼쪽에 => 사용합니다.

키와 다른 가변 이름을 사용할 수도 있습니다.

 [ 'name'=> $ username, 'role'=> $ userrole] = $ user;

키에 누락 된 경우 기본값을 지정하십시오.

 [ 'email'=> $ email = 'no-reply@example.com'] = $ user;

이는 일부 필드가 선택적 일 수있는 사용자 입력 또는 API 응답을 처리 할 때 특히 유용합니다.


2. 배열에서 스프레드 연산자 ( ... ) 사용

스프레드 연산자 (PHP 7.4에 도입)를 사용하면 다른 배열 또는 기능 인수로 "배열을 포장 해제 할 수 있습니다. 그것은 array_merge 와 같지만 더 읽기 쉽고 유연합니다.

풀기 배열 풀기

 $ colors = [ '빨간색', '녹색'];
$ morecolors = [... $ colors, 'blue', 'yellow'];

// 결과 : [ '빨간색', '녹색', '파란색', '노란색']]]

여러 배열을 병합 할 수도 있습니다.

 $ 1 차 = [ '빨간색', '파란색'];
$ secrary = [ 'Green', 'Purple'];
$ palette = [... $ 1 차, ... $ 2 차];

연관 배열과

스프레드 연산자는 관련 배열과도 작동하지만 조심하십시오 : 나중에 키는 이전의 키를 덮어 씁니다 .

 $ defaults = [ 'type'=> 'user', 'active'=> true];
$ attradeRide = [ 'active'=> false, 'role'=> 'admin'];

$ config = [... $ defaults, ... $ Override];
// 결과 : [ 'type'=> 'user', 'active'=> false, 'role'=> 'admin']]]]

⚠️ array_merge 와 달리 스프레드 연산자는 정수 또는 문자열 키가있는 어레이에서만 작동하며 숫자 키가 다시 표시되지 않습니다. 따라서 색인 배열을 결합한 경우 주문이 보존됩니다.


3. 파괴와 기능을 결합합니다

가장 실용적인 용도 중 하나는 기능 인수 , 특히 변이 기능이 있습니다.

기능 호출에 스프레드 사용

 함수 logmessages (문자열 ... $ 메시지) {
    foreach ($ 메시지로 $ msg) {
        echo $ msg. "\N";
    }
}

$ message = [ '오류', '경고', '정보'];
logmessages (... $ 메시지); // 각 요소를 인수로 풀립니다

이전 PHP 버전에서 call_user_func_array() 호출하지 않습니다.

foreach 루프의 파괴

루프에서 배열을 직접 파괴 할 수 있습니다. 관련 데이터 배열로 작업하는 데 유용합니다.

 $ user = [
    [ 'name'=> 'Alice', 'age'=> 30],
    [ 'name'=> 'bob', 'age'=> 25],
];

foreach ($ user as [ 'name'=> $ name, 'age'=> $ age]) {
    echo "$ 이름은 $ 나이입니다. \ n";
}

이것은 루프 바디를 깨끗하고 집중하게합니다.


4. 일반적인 함정과 팁

  • 트래버스 가능한 배열과 만 작동합니다 . 물체가 배열로 변환되지 않으면 물체를 파괴 할 수 없습니다.
  • 키가 있어야합니다 : 누락 된 키가있는 관련 배열을 파괴하면 Warning 발생합니다. 의심스러운 경우 기본값을 사용하십시오.
  • 인덱스 파괴의 순서 문제 : 배열에 충분한 요소가 있는지 확인하십시오.
  • 스프레드는 중첩 된 배열을 평평하게하지 않습니다 : [...[1, [2, 3]]] [1, [2, 3]] [1, 2, 3] 에게 제공합니다.

최종 생각

PHP의 파괴 및 스프레드 운영자는 JavaScript만큼 진행되지는 않지만 클리너,보다 표현력있는 코드를 작성하는 견고한 도구입니다. 사용하십시오 :

  • 구성 값을 추출합니다
  • 기능 인수를 깨끗하게 처리합니다
  • 배열을 직관적으로 병합하고 빌드하십시오
  • 루프 및 데이터 처리를 단순화합니다

그것들은 작은 구문 개선이지만 일단 사용하기 시작하면 오래된 코드베이스에서 놓칠 것입니다.

기본적으로 PHP 7.4에 있다면 이러한 패턴을 이해하지 못할 이유가 없습니다.

위 내용은 PHP 배열 파괴 및 스프레드 연산자 마스터 링의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

뜨거운 주제

PHP 8 속성 소개 : DocBlocks를 구조화 된 메타 데이터로 대체 PHP 8 속성 소개 : DocBlocks를 구조화 된 메타 데이터로 대체 Jul 25, 2025 pm 12:27 PM

php8attributesreplacedocblocksformetadatabyprovidingtype-safe, natiallysupportedannotations.1.attributesErdefinedusing#및 cantargetclasses, method, properties 등

PHP 배열 파괴 및 스프레드 연산자 마스터 링 PHP 배열 파괴 및 스프레드 연산자 마스터 링 Jul 25, 2025 am 04:44 AM

PHP의 배열 해체 및 확장 연산자는 간결한 구문을 통해 코드 가독성 및 유연성을 향상시킬 수 있습니다. 1. 배열 해체는 인덱스 및 연관 배열에서 값을 추출하는 것을 지원합니다. [, $ 3] = $ colors와 같은 빈 자리 표시자를 통해 요소를 건너 뛸 수 있습니다. 연관 배열 해체에는 [ 'name'=> $ name] = $ user와 같은 => 일치 키가 필요하며, 이는 변수 이름을 바꾸고 누락 된 키를 처리하기 위해 기본값을 설정하는 것을 지원합니다. 2. 확장 연산자 (...)는 대부분의 조합 및 연관 배열 덮어 쓰기를 지원하는 [... $ colors, 'blue']와 같은 배열을 확장하고 병합 할 수 있지만 후속 키는 전자를 덮어 쓰고 보충하지 않습니다.

PHP 구문이 쉬운가요? PHP 구문이 쉬운가요? Jul 17, 2025 am 04:12 AM

예, phpsyntaxiseasy, 특히 인력, 특히 우수한 사람들은 well을 통합하고, andrequiresminimalsetup.itssyntaxisstraightforward를 통합하고, $ forvariable, semicolonsforcstatements 및 familonsforcc and styliarc

정적 대 자기 : PHP에서 늦은 정적 바인딩을 풀기 정적 대 자기 : PHP에서 늦은 정적 바인딩을 풀기 Jul 26, 2025 am 09:50 AM

정적 메소드가 상속에서 self를 사용하여 호출되는 경우, 항상 호출 된 클래스보다는 메소드를 정의하는 클래스를 가리 킵니다. 정적은 늦은 정적 바인딩을 사용하지만 실제로 런타임에 실제로 호출 된 클래스를 올바르게 구문 분석 할 수 있습니다. 1. 자기는 코드가 위치한 클래스를 가리키는 초기 바인딩입니다. 2. 정적은 런타임 호출 클래스를 가리키며 늦은 바인딩입니다. 3. 정적을 사용하여 정적 공장 메소드를 구현하고 자동으로 서브 클래스 인스턴스를 반환합니다. 4. 정적 체인에서 상속 된 속성의 올바른 해상도를 지원합니다. 5. LSB는 상수가 아닌 정적 방법 및 속성에만 적합합니다. 6. STATIC는 상속 가능한 클래스에서 먼저 사용하여 유연성과 확장 성을 향상시켜야합니다.

PHP의 3 배, Null Coalescing 및 Nullsafe 연산자를 탈취시킵니다 PHP의 3 배, Null Coalescing 및 Nullsafe 연산자를 탈취시킵니다 Jul 25, 2025 pm 04:48 PM

theternaryoperator (? :) isusedforsimpleif-elseLogic, returnOneOftWovaluesBasedOnAcondition; 2. thenullcoalescingOperator (??) returnStheleftoperandifitispitistinnullorUndefined, OtherwisTherightOperand, AffectionpectedBbefalseffalseffalseffalseffalseffals

PHP에서 변동 기능과 인수를 이해하지 못한다 PHP에서 변동 기능과 인수를 이해하지 못한다 Jul 25, 2025 am 04:50 AM

PHP의 가변 함수 및 매개 변수 풀기 풀기는 Splat 연산자 (...)를 통해 구현됩니다. 1. 가변 함수는 ... $ params를 사용하여 여러 매개 변수를 배열로 수집하는데, 이는 매개 변수 목록의 끝에 있어야하며 필요한 매개 변수와 공존 할 수 있습니다. 2. 매개 변수 포장 풀기 사용 ... $ 배열은 배열을 독립 매개 변수로 확장하고 숫자 인덱스 어레이에 적합한 기능으로 전달합니다. 3. 래퍼 함수에서 매개 변수를 전달하는 것과 같은이 두 가지는 조합하여 사용할 수 있습니다. 4. PHP8은 연관 배열을 풀 때 이름 지정된 매개 변수를 지원하며 키 이름이 매개 변수 이름과 일치하도록해야합니다. 5. 통과 할 수없는 데이터에 대한 포장 풀기 사용을 피하고 치명적인 오류를 방지하며 매개 변수 수량의 한계에주의를 기울이십시오. 이러한 기능은 코드 유연성 및 가독성을 향상시켜 FUNC_GET_ARGS () 등을 줄입니다.

현대 PHP에서 명명 된 인수 및 생성자 속성 프로모션 활용 현대 PHP에서 명명 된 인수 및 생성자 속성 프로모션 활용 Jul 24, 2025 pm 10:28 PM

php8.0 'snamedarguments 및 prostructorPropertyProMotionImproveCodeClarityandreduceboilerPlate : 1.namedArgumentsLeTleTyoupAsSparametersByName, enipancing andlallowingFlexibleArder; 2. ConstructorPropertyPromotionAutomicalLy screatesAndAssignSproperties

PHP 익명 함수 대 화살표 기능 : 구문 깊은 다이브 PHP 익명 함수 대 화살표 기능 : 구문 깊은 다이브 Jul 25, 2025 pm 04:55 PM

화살표 기능은 단일 표현식, 간단한 콜백 및 개선 된 가독성이있는 시나리오에 적합합니다. 2. 익명 함수는 멀티 라인 로직, 복잡한 제어 흐름, 외부 변수 참조 및 수율 생성기를 사용한 시나리오에 적합합니다. 따라서 특정 요구에 따라 선택해야합니다. 간단한 시나리오는 코드 단순성을 향상시키기 위해 화살표 기능 우선 순위를 정하고 복잡한 시나리오는 익명 기능을 사용하여 완전한 기능 지원을 얻습니다.

See all articles