Hướng dẫn php sort array by key date - php sắp xếp mảng theo ngày quan trọng

Một giải pháp phức tạp hơn một chút, dù sao cũng hoạt động cho hầu hết mọi định dạng ngày, dựa trên chức năng UKSORT.works for almost any date format, is based on the uksort function.

Trước tiên, chúng tôi xác định hàm gọi lại so sánh hai ngày (bộ so sánh):

function compare_date_keys($dt1, $dt2) {
    return strtotime($dt1) - strtotime($dt2);
}

Bây giờ chúng ta có thể sử dụng hàm vừa được xác định làm tham số thứ hai trong UKSORT, như trong ví dụ dưới đây:

uksort($arr, "compare_date_keys");

Kết quả là chức năng sẽ coi khóa là một ngày và sắp xếp mảng theo thứ tự tăng dần (ít gần đây hơn).

Lưu ý rằng chúng tôi có thể dễ dàng điều chỉnh bộ so sánh để hỗ trợ các trường hợp sử dụng khác nhau. Ví dụ, việc sắp xếp theo ngày giảm dần (gần đây nhất là đầu tiên) có thể được thực hiện bằng cách thay thế biểu thức trả về của chức năng bằng cách sau:

return strtotime($dt2) - strtotime($dt1);

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Cải thiện bài viết

    Lưu bài viết

    Đọc

    Syntax:

    boolean usort( $array, "function_name")

    Bàn luận This function accepts two parameters as shown in the above syntax and are described below:

    • Sắp xếp một mảng đa chiều theo phần tử chứa ngày. Sử dụng hàm usort () để sắp xếp mảng. Hàm usort () là hàm tích hợp PHP sắp xếp một mảng nhất định bằng cách sử dụng hàm so sánh do người dùng xác định. Hàm này gán các khóa tích phân mới bắt đầu từ 0 thành phần tử mảng. This parameter specifies the array which u want to sort.
    • Tham số: Hàm này chấp nhận hai tham số như được hiển thị trong cú pháp trên và được mô tả dưới đây: This parameter specifies the name of a user-defined function which compares the values and sort the array specified by the parameter $array. This function returns an integer value based on the following conditions. If two argument are equal then it returns 0, If first argument is greater than second, it returns 1 and if first argument is smaller than second, it returns -1.

    $ mảng: Tham số này chỉ định mảng mà bạn muốn sắp xếp. This function returns Boolean type value. It returns TRUE in case of success and FALSE in case of failure.

    function_name: Tham số này chỉ định tên của hàm do người dùng xác định so sánh các giá trị và sắp xếp mảng được chỉ định bởi mảng tham số $. Hàm này trả về một giá trị số nguyên dựa trên các điều kiện sau. Nếu hai đối số bằng nhau thì nó sẽ trả về 0, nếu đối số đầu tiên lớn hơn thứ hai, nó sẽ trả về 1 và nếu đối số đầu tiên nhỏ hơn thứ hai, nó sẽ trả về -1.

    Program:

    Giá trị trả về: Hàm này trả về giá trị loại Boolean. Nó trả về đúng trong trường hợp thành công và sai trong trường hợp thất bại.

        Array (

    Chúng tôi sử dụng strtotime để chuyển đổi chuỗi thời gian đã cho thành một đối tượng dấu thời gian. Khi chúng tôi có dấu thời gian, chúng tôi trừ chúng để quyết định lớn hơn.

    $array = Array (

    uksort($arr, "compare_date_keys");
    
    0
    return strtotime($dt2) - strtotime($dt1);
    
    1

        Array (

    uksort($arr, "compare_date_keys");
    
    0____11
    uksort($arr, "compare_date_keys");
    
    2
    uksort($arr, "compare_date_keys");
    
    3
    uksort($arr, "compare_date_keys");
    
    4

    ____10

    uksort($arr, "compare_date_keys");
    
    6
    uksort($arr, "compare_date_keys");
    
    2
    uksort($arr, "compare_date_keys");
    
    8
    uksort($arr, "compare_date_keys");
    
    4

        

    return strtotime($dt2) - strtotime($dt1);
    
    1

        Array (

    uksort($arr, "compare_date_keys");
    
    0____11
    uksort($arr, "compare_date_keys");
    
    2
    return strtotime($dt2) - strtotime($dt1);
    
    7
    uksort($arr, "compare_date_keys");
    
    4

    uksort($arr, "compare_date_keys");
    
    0
    uksort($arr, "compare_date_keys");
    
    6
    uksort($arr, "compare_date_keys");
    
    2
    boolean usort( $array, "function_name")
    2
    uksort($arr, "compare_date_keys");
    
    4

        

    Array
    (
        [0] => Array
            (
                [gfg] => GFG_2
                [datetime] => 2019-02-13 11:29:45
            )
    
        [1] => Array
            (
                [gfg] => GFG_3
                [datetime] => 2019-02-15 11:29:45
            )
    
        [2] => Array
            (
                [gfg] => GFG_1
                [datetime] => 2019-02-22 11:29:45
            )
    
    )
    
    9

    0

    uksort($arr, "compare_date_keys");
    
    0____11
    uksort($arr, "compare_date_keys");
    
    2
    Array
    (
        [0] => Array
            (
                [gfg] => GFG_2
                [datetime] => 2019-02-13 11:29:45
            )
    
        [1] => Array
            (
                [gfg] => GFG_3
                [datetime] => 2019-02-15 11:29:45
            )
    
        [2] => Array
            (
                [gfg] => GFG_1
                [datetime] => 2019-02-22 11:29:45
            )
    
    )
    
    1
    uksort($arr, "compare_date_keys");
    
    4

    uksort($arr, "compare_date_keys");
    
    0
    uksort($arr, "compare_date_keys");
    
    6
    uksort($arr, "compare_date_keys");
    
    2
    Array
    (
        [0] => Array
            (
                [gfg] => GFG_2
                [datetime] => 2019-02-13 11:29:45
            )
    
        [1] => Array
            (
                [gfg] => GFG_3
                [datetime] => 2019-02-15 11:29:45
            )
    
        [2] => Array
            (
                [gfg] => GFG_1
                [datetime] => 2019-02-22 11:29:45
            )
    
    )
    
    6
    uksort($arr, "compare_date_keys");
    
    4

        $array7 9$array0$array15$array3$array44565

        = Array (6 8 = Array (8$array7    0

        1

        2$array4    50

        7$array

    Array
    (
        [0] => Array
            (
                [gfg] => GFG_2
                [datetime] => 2019-02-13 11:29:45
            )
    
        [1] => Array
            (
                [gfg] => GFG_3
                [datetime] => 2019-02-15 11:29:45
            )
    
        [2] => Array
            (
                [gfg] => GFG_1
                [datetime] => 2019-02-22 11:29:45
            )
    
    )
    
    9

    Array (0

    Output:

    Array
    (
        [0] => Array
            (
                [gfg] => GFG_2
                [datetime] => 2019-02-13 11:29:45
            )
    
        [1] => Array
            (
                [gfg] => GFG_3
                [datetime] => 2019-02-15 11:29:45
            )
    
        [2] => Array
            (
                [gfg] => GFG_1
                [datetime] => 2019-02-22 11:29:45
            )
    
    )
    


    Làm thế nào để sắp xếp một mảng dựa trên ngày trong PHP?

        = Array (6 8 = Array (8$array7    0

    Ksort () trong PHP là gì?

    Hàm ksort () sắp xếp một mảng kết hợp theo thứ tự tăng dần, theo khóa.Mẹo: Sử dụng hàm krsort () để sắp xếp một mảng kết hợp theo thứ tự giảm dần, theo khóa.Mẹo: Sử dụng hàm orort () để sắp xếp một mảng kết hợp theo thứ tự tăng dần, theo giá trị.sorts an associative array in ascending order, according to the key. Tip: Use the krsort() function to sort an associative array in descending order, according to the key. Tip: Use the asort() function to sort an associative array in ascending order, according to the value.

    Làm thế nào để sắp xếp mảng đa chiều theo khóa trong PHP?

    Cách sắp xếp mảng đa chiều theo giá trị khóa trong PHP..
    Sử dụng hàm php mảng_column () để nhận các giá trị từ cột khóa cụ thể trong mảng ..
    Sử dụng hàm php mảng_multisort () để sắp xếp một mảng theo giá trị khóa ..

    Usort hoạt động như thế nào trong PHP?

    Hàm usort () trong PHP sắp xếp một mảng nhất định bằng cách sử dụng hàm so sánh do người dùng xác định.Hàm này rất hữu ích trong trường hợp nếu chúng ta muốn sắp xếp mảng theo cách mới.Hàm này gán các khóa tích phân mới bắt đầu từ 0 đến các phần tử có trong mảng và các khóa cũ bị mất.sorts a given array by using a user-defined comparison function. This function is useful in case if we want to sort the array in a new manner. This function assigns new integral keys starting from zero to the elements present in the array and the old keys are lost.