PHP 프로그래밍에서는 2차원 배열을 1차원 배열로 변환해야 하는 경우가 종종 있습니다. 이러한 상황은 데이터 처리와 논리 처리 모두에서 일반적입니다. 그렇다면 2차원 배열을 1차원 배열로 변환하는 방법은 무엇일까요? 이 기사에서는 몇 가지 간단한 구현 방법을 소개합니다.
시나리오 분석
먼저 간단한 예를 살펴보겠습니다. 예를 들어 2차원 배열이 있습니다.
$data = array( array('id' => 1, 'name' => '张三', 'age' => 20), array('id' => 2, 'name' => '李四', 'age' => 22), array('id' => 3, 'name' => '王五', 'age' => 25) );
이 2차원 배열을 1차원 배열로 변환해야 합니다. 1차원 배열의 키 이름은 다음과 같습니다. 2차원 배열이고 키 값은 2차원 배열의 각 요소의 ID입니다. 이것을 달성하는 방법은 무엇입니까?
해결 방법
방법 1: 루프 순회 사용
이를 구현하는 가장 간단한 방법은 루프 순회를 사용하는 것입니다. 구체적인 구현 과정은 다음과 같습니다.
$result = array(); foreach ($data as $item) { $result[$item['id']] = $item['name']; }
위 코드를 설명하세요. 먼저 변환된 1차원 배열을 저장하기 위해 $result라는 배열을 정의합니다. 그런 다음 foreach 루프를 사용하여 2차원 배열 $data를 순회합니다. $item은 2차원 배열의 각 요소를 나타냅니다. 각 순회에서는 $item 배열의 'id' 키를 1차원 배열의 키로, $item 배열의 'name' 키를 1차원 배열의 키로 사용하여 저장합니다. $result 배열에 있습니다.
마지막으로 $result의 내용은 다음과 같습니다.
Array ( [1] => 张三 [2] => 李四 [3] => 王五 )
방법 2: array_map 및 array_column 함수 사용
또 다른 구현 방법은 PHP 내장 함수 array_map 및 array_column을 사용하는 것입니다. 구체적인 구현 코드는 다음과 같습니다.
$result = array_map(function($v){return [$v['id'] => $v['name']];}, $data); $result = array_merge(...$result);
위 코드는 2차원 배열의 요소를 새로운 배열로 처리하는 익명 함수를 구현합니다. 배열의 키 이름은 'id'이고 키 값은 ''입니다. 이름'. 이는 2차원 배열을 여러 개의 1차원 배열을 포함하는 배열로 변환합니다.
다음으로 array_merge 함수를 사용하여 여러 개의 1차원 배열을 하나의 1차원 배열로 병합합니다. 이때 새로운 1차원 배열에는 원래의 키 값뿐만 아니라 중복된 인덱스 값도 포함됩니다. 우리가 원하는 1차원 배열을 얻기 위해 php5.6의 새로운 "확장 연산자(...)"를 사용하여 중복된 인덱스 값을 제거합니다.
마지막으로 $result의 내용은 다음과 같습니다.
Array ( [1] => 张三 [2] => 李四 [3] => 王五 )
방법 3: array_reduce 함수 사용
array_reduce 함수를 사용하면 2차원 배열을 1차원 배열로 변환해야 한다는 필요성도 인식할 수 있습니다. 구현 코드는 다음과 같습니다.
$result = array_reduce($data, function($carry, $item){ $carry[$item['id']] = $item['name']; return $carry; }, array());
위 코드에서는 array_reduce 함수를 사용하여 $data 배열의 각 요소를 왼쪽에서 오른쪽으로 새로운 단일 값으로 "병합"합니다. 초기값은 빈 배열입니다.
각 반복에서 $item 배열의 'id' 키를 1차원 배열의 키로 사용하고 $item 배열의 'name' 키를 1차원 배열의 키로 사용합니다. 배열의 $carry에 저장합니다. 결국 $carry의 내용은 우리가 원하는 1차원 배열입니다.
마지막으로 $result의 내용은 다음과 같습니다.
Array ( [1] => 张三 [2] => 李四 [3] => 王五 )
응용 시나리오
2차원 배열을 1차원 배열로 변환하는 것은 데이터 처리 시나리오에서 일반적입니다. 예를 들어, 데이터베이스에서 쿼리한 결과 집합은 2차원 배열일 수 있으며, 1차원 배열로 특정 열만 필요합니다. 이 경우 2차원 배열을 변환해야 합니다. 1차원 배열.
동시에 논리 처리에서는 데이터 스크리닝 및 처리를 용이하게 하기 위해 복잡한 2차원 배열을 1차원 배열로 단순화해야 하는 경우가 있습니다.
요약
이 글에서는 2차원 배열을 1차원 배열로 변환하는 세 가지 방법, 즉 루프 순회 사용, array_map 및 array_column 함수 사용, array_reduce 함수 사용을 소개합니다. 각 방법에는 고유한 구현 방법과 장점이 있으며 다양한 시나리오와 요구 사항에 따라 선택하고 사용할 수 있습니다. 이러한 방법을 이해하고 익히면 효율적이고 간결하며 우아한 PHP 프로그램을 작성하는 데 도움이 됩니다.
위 내용은 PHP에서 2차원 배열을 1차원 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 산 및 기본 데이터베이스 모델을 비교하여 특성과 적절한 사용 사례를 자세히 설명합니다. 산은 금융 및 전자 상거래 애플리케이션에 적합한 데이터 무결성 및 일관성을 우선시하는 반면 Base는 가용성 및

이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

기사는 내장 함수 사용, 화이트리스트 접근 방식 및 서버 측 유효성 검사와 같은 기술에 중점을 둔 보안을 향상시키기 위해 PHP 입력 유효성 검증에 대한 모범 사례를 논의합니다.

이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

이 기사에서는 PHP에서 암호를 보호하기 위해 PHP에서 Password_hash 및 Password_Verify 사용의 이점에 대해 설명합니다. 주요 주장은 이러한 기능이 자동 소금 생성, 강한 해싱 알고리즘 및 Secur를 통해 암호 보호를 향상 시킨다는 것입니다.

이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

이 기사는 PHP의 XSS 공격을 방지하기위한 전략, 입력 소독, 출력 인코딩 및 보안 향상 라이브러리 및 프레임 워크 사용에 중점을 둔 전략에 대해 설명합니다.

이 기사는 각각의 사용시기에 중점을 둔 PHP의 인터페이스 및 추상 클래스 사용에 대해 설명합니다. 인터페이스는 관련없는 클래스 및 다중 상속에 적합한 구현없이 계약을 정의합니다. 초록 클래스는 일반적인 기능을 제공합니다


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
