PHP 2차원 배열을 1차원 배열로 변환하는 방법

PHPz
풀어 주다: 2023-04-19 11:06:50
원래의
1133명이 탐색했습니다.

PHP에서 2차원 배열은 정렬된 데이터를 저장하는 데이터 구조입니다. 여러 데이터 요소를 배열로 구성하고 인덱스를 통해 각 요소에 액세스할 수 있습니다. 그러나 어떤 경우에는 다른 작업을 용이하게 하기 위해 2차원 배열을 1차원 배열로 변환해야 합니다. 이번 글에서는 PHP에서 2차원 배열을 1차원 배열로 변환하는 방법을 자세히 소개하겠습니다.

1. foreach 루프를 사용하여 순회

foreach 루프를 사용하는 것은 2차원 배열을 1차원 배열로 변환하는 가장 일반적인 방법입니다. 구체적인 단계는 다음과 같습니다.

//定义二维数组
$students = array(
    array("name" => "张三", "age" => 18, "gender" => "男"),
    array("name" => "李四", "age" => 20, "gender" => "女"),
    array("name" => "王五", "age" => 19, "gender" => "男")
);

//定义一维数组
$studentInfo = array();

//遍历二维数组
foreach($students as $student) {
    foreach($student as $key => $value) {
        //将二维数组的元素添加到一维数组中
        $studentInfo[$key][] = $value;
    }
}

//输出一维数组
print_r($studentInfo);
로그인 후 복사

위 코드에서는 먼저 세 학생의 이름, 나이, 성별을 포함하는 2차원 배열 $students를 정의합니다. 그런 다음 학생 정보를 저장하기 위해 1차원 배열 $studentInfo를 정의합니다. foreach 루프를 사용하여 2차원 배열을 반복하고 내부 요소를 1차원 배열에 추가합니다. 마지막으로 변환된 1차원 배열이 출력됩니다. 다음 결과가 출력됩니다.

Array
(
    [name] => Array
        (
            [0] => 张三
            [1] => 李四
            [2] => 王五
        )

    [age] => Array
        (
            [0] => 18
            [1] => 20
            [2] => 19
        )

    [gender] => Array
        (
            [0] => 男
            [1] => 女
            [2] => 男
        )

)
로그인 후 복사

2차원 배열 $students가 1차원 배열 $studentInfo로 성공적으로 변환된 것을 볼 수 있습니다.

2. array_map 함수를 사용하세요

foreach 루프를 사용하는 것 외에도 PHP 내장 함수 array_map을 사용하여 2차원 배열을 1차원 배열로 변환할 수도 있습니다. 구체적인 단계는 다음과 같습니다.

//定义二维数组
$students = array(
    array("name" => "张三", "age" => 18, "gender" => "男"),
    array("name" => "李四", "age" => 20, "gender" => "女"),
    array("name" => "王五", "age" => 19, "gender" => "男")
);

//定义一个函数,用于将二维数组元素转换为一维数组
function flatten($item) {
    return $item;
}

//调用array_map函数,将二维数组转换为一维数组
$studentInfo = array_map("flatten", $students);

//输出一维数组
print_r($studentInfo);
로그인 후 복사

위 코드에서는 정의된 2차원 배열 $students를 사용합니다. 또한 2차원 배열의 각 요소를 1차원 배열로 변환하는 flatten()이라는 함수를 정의합니다. array_map 함수를 사용하여 flatten() 함수를 호출하여 2차원 배열을 1차원 배열 $studentInfo로 변환합니다. 다음과 같은 결과가 출력됩니다.

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
            [gender] => 男
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 20
            [gender] => 女
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 19
            [gender] => 男
        )

)
로그인 후 복사
로그인 후 복사

foreach 루프를 사용하는 것보다 array_map 함수를 사용하는 구조가 더 간결하다는 것을 알 수 있습니다.

3. implode 함수 사용

마지막으로 implode 함수를 사용하여 2차원 배열을 쉼표로 구분된 문자열로 변환한 다음 분해 함수를 사용하여 문자열을 1차원 배열로 변환할 수도 있습니다. 구체적인 단계는 다음과 같습니다.

//定义二维数组
$students = array(
    array("name" => "张三", "age" => 18, "gender" => "男"),
    array("name" => "李四", "age" => 20, "gender" => "女"),
    array("name" => "王五", "age" => 19, "gender" => "男")
);

//首先将二维数组转换成字符串
$str = implode(",", $students);

//然后使用explode函数将字符串转换成一维数组
$studentInfo = explode(",", $str);

//输出一维数组
print_r($studentInfo);
로그인 후 복사

위 코드에서는 먼저 implode 함수를 사용하여 2차원 배열을 쉼표로 구분된 문자열로 변환한 다음,Explode 함수를 사용하여 문자열을 1차원 배열로 변환합니다. $studentInfo 배열. 다음과 같은 결과가 출력됩니다.

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
            [gender] => 男
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 20
            [gender] => 女
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 19
            [gender] => 男
        )

)
로그인 후 복사
로그인 후 복사

이 방법은 array_map 함수를 사용한 것과 동일함을 알 수 있습니다.

요약하자면, 2차원 배열을 1차원 배열로 변환해야 하는 경우는 흔하지 않지만 foreach 루프, array_map 함수 또는 implode 함수 메서드를 사용하여 이 기능을 구현할 수 있습니다. 선택할 때 개발자는 실제 상황에 따라 자신에게 가장 적합한 방법을 선택해야 합니다.

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

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