>백엔드 개발 >PHP 튜토리얼 >PHP 배열 정렬: 단일 차원에서 다차원까지 심층 탐색

PHP 배열 정렬: 단일 차원에서 다차원까지 심층 탐색

WBOY
WBOY원래의
2024-04-29 16:00:02361검색

PHP는 1차원 배열 정렬을 위한 sort(), rsort(), asort(), arsort()를 포함한 다양한 배열 정렬 함수를 제공합니다. 다차원 배열 정렬을 위해서는 array_multisort() 사용자 정의 함수를 사용할 수 있습니다. 여러 열을 지정하여 오름차순 또는 내림차순으로 정렬합니다.

PHP 배열 정렬: 단일 차원에서 다차원까지 심층 탐색

PHP 배열 정렬: 단일 차원에서 다차원까지 심층 탐색

소개

배열 정렬은 프로그래밍에 매우 중요하며 데이터를 구성하고 필터링하는 데 사용할 수 있습니다. PHP는 sort(), rsort(), asort(), arsort()를 포함하여 배열을 정렬하는 여러 함수를 제공합니다. code>, <code>natsort(), natcasesort()sort(), rsort(), asort(), arsort(), natsort(), natcasesort() 等。

单维数组排序

对单维数组进行排序很简单,可以通过以下函数:

  • sort():按升序对数组元素进行排序。
  • rsort():按降序对数组元素进行排序。
  • asort():按键进行升序排序。
  • arsort()
1차원 배열 정렬

1차원 배열을 정렬하는 것은 매우 간단합니다. 다음 함수를 사용할 수 있습니다.

  • sort(): 배열 요소 정렬 오름차순으로.

  • rsort(): 배열 요소를 내림차순으로 정렬합니다.
  • asort(): 키를 기준으로 오름차순으로 정렬합니다.

  • arsort(): 키를 기준으로 내림차순으로 정렬합니다.

    실용 사례: 제품의 1차원 배열을 이름에 따라 오름차순으로 정렬합니다.

    <?php
    $products = array(
        "Apple" => "iPhone",
        "Samsung" => "Galaxy",
        "Google" => "Pixel",
    );
    
    asort($products);
    
    print_r($products);
    출력:
    Array
    (
        [Apple] => iPhone
        [Google] => Pixel
        [Samsung] => Galaxy
    )

    다차원 배열 정렬

    🎜🎜때로는 다차원 배열을 정렬해야 할 때가 있습니다. PHP에는 이 작업을 수행할 수 있는 기본 기능이 없지만 사용자 정의 함수를 사용하여 이 문제를 해결할 수 있습니다: 🎜
    function array_multisort($array, $columns) {
        $temp = [];
        foreach($array as $k => $v) {
            $temp[$k] = [];
            foreach($columns as $key) {
                $temp[$k][$key] = $v[$key];
            }
        }
        array_multisort($temp, SORT_ASC);
        foreach($temp as $k => $v) {
            foreach($columns as $key) {
                $array[$k][$key] = $v[$key];
            }
        }
        return $array;
    }
    🎜🎜실용 예: 제품 이름 및 가격별로 다차원 배열 정렬 🎜🎜
    <?php
    $products = array(
        array(
            "name" => "iPhone",
            "price" => 1000,
        ),
        array(
            "name" => "Galaxy",
            "price" => 800,
        ),
        array(
            "name" => "Pixel",
            "price" => 900,
        ),
    );
    
    array_multisort($products, ['name', 'price']);
    
    print_r($products);
    🎜출력 : 🎜아아아아

위 내용은 PHP 배열 정렬: 단일 차원에서 다차원까지 심층 탐색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.