Làm cách nào để sắp xếp mảng đa chiều theo ngày trong PHP?

Hàm array_multisort[] trả về một mảng đã được sắp xếp. Bạn có thể gán một hoặc nhiều mảng. Hàm sắp xếp mảng đầu tiên và các mảng khác theo sau, sau đó, nếu hai hoặc nhiều giá trị giống nhau, hàm sẽ sắp xếp mảng tiếp theo, v.v.

Ghi chú. Các khóa chuỗi sẽ được duy trì nhưng các khóa số sẽ được lập chỉ mục lại, bắt đầu từ 0 và tăng thêm 1

Ghi chú. Bạn có thể chỉ định các tham số sắp xếp và sắp xếp sau mỗi mảng. Nếu không được chỉ định, mỗi tham số mảng sẽ sử dụng các giá trị mặc định

Để sắp xếp một mảng ngày tháng trong PHP, mã như sau−

Ví dụ

Bản thử trực tiếp

đầu ra

Điều này sẽ tạo ra đầu ra sau−

Array
[
   [0] => 2019-08-10
   [1] => 2019-09-08
   [2] => 2019-10-10
   [3] => 2019-11-11
]

Ví dụ

Bây giờ chúng ta hãy xem một ví dụ khác -

Bản thử trực tiếp

 strtotime[$date2]]
         return -1;
      else
         return 0;
   }
   $dateArr = array["2019-11-11", "2019-10-10","2019-11-11", "2019-09-08","2019-05-11", "2019-01-01"];
   usort[$dateArr, "compareDates"];
   print_r[$dateArr];
?>

đầu ra

Điều này sẽ tạo ra đầu ra sau−

Array
[
   [0] => 2019-11-11
   [1] => 2019-11-11
   [2] => 2019-10-10
   [3] => 2019-09-08
   [4] => 2019-05-11
   [5] => 2019-01-01
]

Trang này giải thích cách sắp xếp một mảng nhiều chiều trong PHP. Điều này thường xảy ra khi mảng là kết quả của truy vấn cơ sở dữ liệu

mảng ví dụ

Hãy xem xét mảng đa chiều sau

$array[] = array['name' => 'Dupont', 'age' => 72];
$array[] = array['name' => 'Albert', 'age' => 11];
$array[] = array['name' => 'Durand', 'age' => 56];
$array[] = array['name' => 'Michel', 'age' => 52];
$array[] = array['name' => 'Dupont', 'age' => 36];
$array[] = array['name' => 'Plutot', 'age' => 27];
Tên TuổiDupont72Albert11Durand56Michel52Dupont36Plutot27

Sắp xếp theo tên tăng dần

Chúng tôi có một mảng các hàng, nhưng array_multisort[] yêu cầu một mảng các cột, vì vậy chúng tôi sử dụng mã bên dưới để lấy các cột, sau đó thực hiện sắp xếp

A more inuitive way of sorting multidimensional arrays using array_msort[] in just one line, you don't have to divide the original array into per-column-arrays:

$arr1 = array[
    array['id'=>1,'name'=>'aA','cat'=>'cc'],
    array['id'=>2,'name'=>'aa','cat'=>'dd'],
    array['id'=>3,'name'=>'bb','cat'=>'cc'],
    array['id'=>4,'name'=>'bb','cat'=>'dd']
];

$arr2 = array_msort[$arr1, array['name'=>SORT_DESC, 'cat'=>SORT_ASC]];

________số 8

arr1:
    0:
        id: 1 [int]
        name: aA [string:2]
        cat: cc [string:2]
    1:
        id: 2 [int]
        name: aa [string:2]
        cat: dd [string:2]
    2:
        id: 3 [int]
        name: bb [string:2]
        cat: cc [string:2]
    3:
        id: 4 [int]
        name: bb [string:2]
        cat: dd [string:2]
arr2:
    2:
        id: 3 [int]
        name: bb [string:2]
        cat: cc [string:2]
    3:
        id: 4 [int]
        name: bb [string:2]
        cat: dd [string:2]
    0:
        id: 1 [int]
        name: aA [string:2]
        cat: cc [string:2]
    1:
        id: 2 [int]
        name: aa [string:2]
        cat: dd [string:2]

 strtotime[$date2]]
         return -1;
      else
         return 0;
   }
   $dateArr = array["2019-11-11", "2019-10-10","2019-11-11", "2019-09-08","2019-05-11", "2019-01-01"];
   usort[$dateArr, "compareDates"];
   print_r[$dateArr];
?>
0

 strtotime[$date2]]
         return -1;
      else
         return 0;
   }
   $dateArr = array["2019-11-11", "2019-10-10","2019-11-11", "2019-09-08","2019-05-11", "2019-01-01"];
   usort[$dateArr, "compareDates"];
   print_r[$dateArr];
?>
1

 strtotime[$date2]]
         return -1;
      else
         return 0;
   }
   $dateArr = array["2019-11-11", "2019-10-10","2019-11-11", "2019-09-08","2019-05-11", "2019-01-01"];
   usort[$dateArr, "compareDates"];
   print_r[$dateArr];
?>
2

Sắp xếp mảng nhiều chiều theo phần tử chứa ngày tháng. Sử dụng hàm usort[] để sắp xếp mảng. Hàm usort[] là hàm dựng sẵn trong PHP sắp xếp một mảng đã cho bằng cách sử dụng hàm so sánh do người dùng định nghĩa. Hàm này gán các khóa tích phân mới bắt đầu từ 0 cho các phần tử mảng

cú pháp

boolean usort[ $array, "function_name"]

Thông 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ả bên dưới

  • mảng $. Tham số này chỉ định mảng mà bạn muốn sắp xếp
  • Tên chức năng. 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 tham số $array. 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ó trả về 0, Nếu đối số thứ nhất lớn hơn thứ hai, nó trả về 1 và nếu đối số thứ nhất nhỏ hơn thứ hai, nó trả về -1

Giá trị trả về. Hàm này trả về giá trị kiểu Boolean. Nó trả về TRUE trong trường hợp thành công và FALSE trong trường hợp thất bại

Chúng tôi sử dụng strtotime để chuyển đổi chuỗi thời gian đã cho thành đố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

Làm cách nào để sắp xếp mảng theo ngày trong PHP?

Nếu ngày ở định dạng "Mysql" [ Y-m-d hoặc Y-m-d H. i. s ], thì bạn có thể sắp xếp mảng của mình ngay lập tức, không cần thực hiện hành động đặc biệt nào. $arr = ["2019-11-11", "2019-10-10","2019-11-11", "2019-09-08","2019-05-

Làm cách nào để sắp xếp mảng nhiều chiều trong PHP theo giá trị?

Bắt đầu bằng PHP 5. 3, bạn có thể sử dụng chức năng ẩn danh. usort[$myArray, function[$a, $b] { return $a['order'] - $b['order']; }]; With PHP 7 you can use the spaceship operator: usort[$myArray, function[$a, $b] { return $a['order'] $b['order']; }];

Hàm PHP nào được sử dụng để sắp xếp đa

array_multisort[] có thể được sử dụng để sắp xếp nhiều mảng cùng lúc hoặc mảng nhiều chiều theo một hoặc nhiều chiều.

Làm cách nào để sắp xếp ngày trong PHP MySQL?

Chọn và sắp xếp dữ liệu từ cơ sở dữ liệu MySQL . Theo mặc định, mệnh đề ORDER BY sắp xếp các bản ghi theo thứ tự tăng dần. Để sắp xếp các bản ghi theo thứ tự giảm dần, hãy sử dụng từ khóa DESC. The ORDER BY clause is used to sort the result-set in ascending or descending order. The ORDER BY clause sorts the records in ascending order by default. To sort the records in descending order, use the DESC keyword.

Chủ Đề