> 백엔드 개발 > PHP 문제 > PHP 배열을 반전시키는 방법

PHP 배열을 반전시키는 방법

藏色散人
풀어 주다: 2023-03-14 11:56:01
원래의
4112명이 탐색했습니다.

PHP에서 배열 반전을 구현하는 방법: 1. "function reverse($arr){...}" 메서드를 사용하여 배열 반전을 달성합니다. 2. "function reverse_arr($arr){...}"를 사용합니다. 이를 달성하는 방법은 배열을 반대로 하면 됩니다.

PHP 배열을 반전시키는 방법

이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.4, Dell G3 컴퓨터.

PHP에서는 배열 반전을 구현합니다

PHP에는 배열을 반전시킬 수 있는 기능이 있는데 업무에서 자주 사용하는 기능이라 매우 편리합니다. 오늘은 이 기능을 직접 구현해 보겠습니다.

$arr = [2,5,6,1,8,16,12];
function reverse($arr){
    $left = 0;
    $right = count($arr) -1;
    $temp = [];
    while ($left <= $right){
        $temp[$left] = $arr[$right];
        $temp[$right]  = $arr[$left];
        $left++;
        $right--;
    }
    ksort($temp);
    return $temp;
}

效果

Array
(
    [0] => 12
    [1] => 16
    [2] => 8
    [4] => 6
    [5] => 5
    [6] => 2
)
로그인 후 복사

하지만 이 함수는 1차원 배열만 처리할 수 있습니다. 여러 차원을 처리할 수 있는 것을 구현하는 동안.

$arr = [2,[6,3,9],1,[5,2,1,[10,8,7]],5,0];

function reverse_arr($arr){
    $index = 0;
    $reverse_array = [];
    foreach ($arr as $sub_arr){
        if(is_array($sub_arr)){
            $sub_arr = reverse($sub_arr);
            $arr_ = reverse_arr($sub_arr);
            $reverse_array[$index] = $arr_;
        }else{
            $reverse_array[$index] = $sub_arr;
        }
        $index++;
    }
    return $reverse_array;
}

print_r(reverse(reverse_arr($arr)));

输出结果
로그인 후 복사
Array
(
    [0] => 0
    [1] => 5
    [2] => Array
        (
            [0] => Array
                (
                    [0] => 7
                    [1] => 8
                    [2] => 10
                )

            [1] => 1
            [2] => 2
            [3] => 5
        )

    [3] => 1
    [4] => Array
        (
            [0] => 9
            [1] => 3
            [2] => 6
        )

    [5] => 2
)
로그인 후 복사

위는 모두 숫자 인덱스 배열이며 연관 배열을 처리할 수 없습니다. 다음은 연관 배열을 처리할 수 있는 것입니다.

$arr = [&#39;a&#39;=>&#39;aa&#39;,&#39;b&#39;=>&#39;bb&#39;,&#39;c&#39;=>&#39;cc&#39;,&#39;d&#39;=>&#39;dd&#39;,&#39;e&#39;=>&#39;ee&#39;];
function reverse($arr){
    $temp = [];
    end($arr);
    while (($value = current($arr)) != null){
        $temp[key($arr)] = $value;
        prev($arr);
    }
    return $temp;
}
print_r(reverse($arr));

结果
Array
(
    [e] => ee
    [d] => dd
    [c] => cc
    [b] => bb
    [a] => aa
)
로그인 후 복사

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP 배열을 반전시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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