PHP 배열 반전 방법

PHPz
풀어 주다: 2023-05-11 10:55:06
원래의
2959명이 탐색했습니다.

이 글에서는 PHP 배열 반전 방법을 소개합니다.

PHP에서 배열은 여러 값을 저장할 수 있는 가장 일반적인 데이터 유형 중 하나입니다. 배열 반전 작업을 구현하는 것은 일반적인 요구 사항 중 하나입니다. 다음은 PHP 배열 반전 작업을 구현하는 여러 가지 방법을 보여줍니다.

방법 1: array_reverse() 함수

PHP는 배열을 반전시키는 내장 함수 array_reverse()를 제공합니다. 이 함수는 원래 배열의 요소가 역순으로 배열된 새 배열을 반환합니다. 예:

$arr = array(1, 2, 3, 4, 5);
$reversedArr = array_reverse($arr);
print_r($reversedArr);
로그인 후 복사

위 코드 실행의 출력 결과는 다음과 같습니다.

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

이 함수는 배열의 키 이름을 유지하거나 재설정하도록 선택할 수도 있습니다. 두 번째 매개변수는 선택사항이며 기본값은 false입니다. 이는 키 이름이 유지되지 않음을 의미합니다. 값이 true이면 키 이름이 유지됩니다.

$arr = array("one" => 1, "two" => 2, "three" => 3, "four" => 4, "five" => 5);
$reversedArr = array_reverse($arr, true);
print_r($reversedArr);
로그인 후 복사

출력 결과는 다음과 같습니다.

Array
(
    [five] => 5
    [four] => 4
    [three] => 3
    [two] => 2
    [one] => 1
)
로그인 후 복사

방법 2: for 루프

배열 반전 연산은 for 루프를 사용하여 구현할 수도 있습니다. 배열의 시작 부분과 끝 부분에 하나씩 두 개의 포인터를 사용하여 루프에서 두 포인터를 이동하고 그에 따라 요소를 교환할 수 있습니다. 구체적인 구현은 다음과 같습니다.

$arr = array(1, 2, 3, 4, 5);
$len = count($arr);
for ($i = 0; $i < $len / 2; $i++) {
    $temp = $arr[$i];
    $arr[$i] = $arr[$len - $i - 1];
    $arr[$len - $i - 1] = $temp;
}
print_r($arr);
로그인 후 복사

출력 결과는 다음과 같습니다.

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

방법 3: array_reduce() 함수와 역 배열 키 이름을 사용합니다

array_reduce() 함수를 사용하여 배열을 역전할 수도 있습니다. array_reduce() 함수는 반복 가능한 배열을 허용하고 콜백 함수를 사용하여 각 요소에 대한 합산, 필터링, 변환과 같은 작업을 수행할 수 있습니다. 다음은 배열 반전의 예입니다.

$arr = array(1, 2, 3, 4, 5);
$reversedArr = array_reduce(array_keys($arr), function ($acc, $key) use ($arr) {
    $acc[$key] = $arr[count($arr) - 1 - $key];
    return $acc;
}, []);
print_r($reversedArr);
로그인 후 복사

출력 결과는 다음과 같습니다.

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

위 코드는 array_keys() 함수를 사용하여 배열의 키 이름을 가져오고 이를 array_reduce()의 첫 번째 매개 변수로 전달합니다. 함수이므로 콜백 함수 구현에 사용됩니다. 다음 콜백 함수는 키 이름을 사용하여 배열의 역방향 인덱스를 계산하여 배열을 반전시킵니다. $acc 매개변수는 값이 항상 배열인 누산기이며 초기 값은 빈 배열 []입니다.

보시다시피, array_reduce() 함수를 사용하여 배열 반전을 달성하는 것은 다소 복잡합니다. 하지만 이 함수는 다른 배열 작업을 처리할 때 매우 유용합니다.

방법 4: array_multisort() 및 array_column() 함수 사용

배열 반전 작업을 구현하는 마지막 방법은 PHP의 기능을 사용하여 다차원 배열을 처리하는 것입니다. 먼저 array_multisort() 함수를 사용하여 독립적인 홀수 및 짝수 인덱스를 배열 인덱스에 따라 역순으로 정렬할 수 있습니다. 그런 다음 array_column() 함수를 사용하여 배열을 다시 단일 배열로 변환합니다. 구체적인 구현은 다음과 같습니다.

$arr = array(1, 2, 3, 4, 5);
$n = count($arr);
for ($i = 0; $i < $n; $i++) {
    if ($i % 2 == 0) {
        $even[] = $arr[$i];
    } else {
        $odd[] = $arr[$i];
    }
}
array_multisort(array_reverse($odd), SORT_NUMERIC, array_reverse($even), SORT_NUMERIC);
$reversedArr = array_column(array($even, $odd), 0);
print_r($reversedArr);
로그인 후 복사

출력 결과는 다음과 같습니다.

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)
로그인 후 복사
로그인 후 복사
로그인 후 복사
로그인 후 복사

위 코드는 홀수 인덱스와 짝수 인덱스를 각각 $odd 및 $even 두 배열에 저장합니다. 다음으로 array_multisort() 함수를 사용하여 두 배열을 역순으로 정렬하고, 마지막으로 array_column() 함수를 사용하여 2차원 배열을 단일 배열로 변환합니다.

요약

이 기사에서는 PHP 배열 반전 작업을 구현하는 네 가지 방법에 대해 설명했습니다. 그 중 array_reverse() 함수는 가장 간단하고 직접적인 방법이다. for 루프 방법은 상대적으로 작동이 간단하지만 array_reverse() 함수만큼 효율적이지는 않습니다. array_reduce() 함수를 사용하여 배열 반전을 구현하는 것은 비교적 복잡하지만 이 함수는 다른 배열 작업을 수행할 때 매우 유용합니다. 마지막으로, 다차원 배열을 처리하는 PHP의 기능을 활용하여 배열 반전 작업을 구현하는 array_multisort() 및 array_column() 함수를 기반으로 하는 접근 방식을 보여줍니다.

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

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