> 백엔드 개발 > PHP 문제 > PHP 다차원에서 2차원 배열로

PHP 다차원에서 2차원 배열로

PHPz
풀어 주다: 2023-05-07 16:37:08
원래의
656명이 탐색했습니다.

PHP에서 개발자는 다양한 리소스에서 얻은 다차원 데이터 구조를 처리해야 하는 경우가 많으며 이러한 데이터 구조에는 매우 복잡한 데이터 유형이 포함될 수 있습니다. 다차원 배열은 이러한 데이터 구조를 다룰 때 매우 유용한 도구이지만 경우에 따라 다차원 배열을 2차원 배열로 변환해야 할 수도 있습니다.

이 기사에서는 보다 일반적인 데이터 처리 요구 사항에 맞게 PHP를 사용하여 다차원 배열을 2차원 배열로 변환하는 방법을 살펴보겠습니다.

  1. 다차원 배열 정의

다차원 배열을 2차원 배열로 변환하는 방법을 보여주기 위해 먼저 다차원 배열을 정의해야 합니다. 우리는 각각 세 개의 서로 다른 항목을 포함하는 세 가지 주요 범주가 있는 "Fruit" 배열을 만들 것입니다.

$fruits = array(

"apples" => array(
    array("brand" => "Granny Smith", "color" => "green", "price" => 0.75),
    array("brand" => "Fuji", "color" => "red", "price" => 0.50),
    array("brand" => "Golden Delicious", "color" => "yellow", "price" => 0.60)
),
"oranges" => array(
    array("brand" => "Valencia", "color" => "orange", "price" => 0.80),
    array("brand" => "Navel", "color" => "orange", "price" => 0.85),
    array("brand" => "Blood", "color" => "red", "price" => 1.10)
),
"bananas" => array(
    array("brand" => "Cavendish", "color" => "yellow", "price" => 0.25),
    array("brand" => "Lady Finger", "color" => "green", "price" => 0.30),
    array("brand" => "Red Dacca", "color" => "red", "price" => 0.35)
)
로그인 후 복사

);

위 배열에서 우리는 세 가지 범주를 포함하는 과일 배열을 만들었습니다. 각 범주에는 세 가지 다른 브랜드, 색상 및 가격 조합이 포함되어 있습니다.

  1. 다차원 배열을 2D 배열로 변환

이제 다차원 배열을 정의하고 구성 방법을 이해했으므로 이를 2D 배열로 변환하는 코드 작성을 시작할 수 있습니다.

다차원 배열의 각 요소에 콜백 함수를 적용하고 콜백 함수의 결과가 포함된 새 배열을 반환하는 PHP의 array_map 함수를 사용할 수 있습니다.

다음은 다차원 배열을 2차원 배열로 변환하는 콜백 함수가 포함된 샘플 코드입니다.

$Flat_fruits = array();
array_map(function($group) use (&$Flat_fruits) {

foreach ($group as $item) {
    $flat_fruits[] = array(
        "category" => array_keys($group)[0],
        "brand" => $item["brand"],
        "color" => $item["color"],
        "price" => $item["price"]
    );
}
로그인 후 복사

} , $fruits);

위 코드에서는 먼저 $plat_fruits라는 새 배열을 만들어 변환된 결과를 저장합니다. 그런 다음 array_map 함수를 사용하여 $fruits 배열의 각 항목을 반복하고 해당 항목에 대해 일부 작업을 수행하는 익명 함수에 전달합니다.

이 익명 함수에서는 먼저 foreach 루프를 사용하여 각 범주의 가능한 모든 항목을 반복합니다. 각 항목에 대해 새 배열로 포장하고 항목의 브랜드, 색상, 가격 및 카테고리를 저장합니다(여기에서는 카테고리 이름을 사용했습니다). 마지막으로 이 새 배열을 변환된 2D 배열이 되는 $Flat_fruits 배열에 추가합니다.

  1. 출력 결과

코드가 작동하는지 확인하려면 간단히 $plat_fruits 배열을 출력하고 변환된 값을 확인하면 됩니다. 다음은 $plat_fruits 배열을 출력하는 코드입니다.

foreach ($plat_fruits as $item) {

echo $item["category"] . " > " . $item["brand"] . " (" . $item["color"] . ", $" . $item["price"] . ")\n";
로그인 후 복사

}

위 코드에서는 foreach 루프를 사용하여 $plat_fruits 배열의 각 항목을 반복합니다. 각 항목에 대해 해당 내용을 문자열로 형식화하고 터미널에 인쇄합니다.

출력은 다음과 유사해야 합니다.

사과 > Granny Smith(녹색, $0.75)
사과 > Fuji(빨간색, $0.5)
사과 > Golden Delicious(노란색, $0.6)
오렌지 > 오렌지, $0.8)
오렌지 > 네이블(오렌지, $0.85)
오렌지 > 블러드(레드, $0.1)
바나나 > 캐번디쉬(노란색, $0.25)
바나나 > 레드(녹색, $0.3) Dacca (red, $0.35)

보시다시피 다차원 배열을 2차원 배열로 변환하고 출력 형식을 지정하는 데 성공했습니다. PHP의 array_map 함수는 다차원 배열을 처리하는 데 매우 유용한 도구임을 알 수 있습니다. 이를 통해 개발자는 다차원 데이터 구조에서 쉽게 작업할 수 있으며 일부 변환 논리를 쉽게 적용하여 데이터를 원하는 형식으로 변환할 수 있습니다.

위 내용은 PHP 다차원에서 2차원 배열로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿