Sắp xếp php là gì?

Khi hiển thị nhiều hàng dữ liệu, dữ liệu thường được sắp xếp theo một số cột được chỉ định bởi người dùng cuối. Yii sử dụng một đối tượng yii\data\Sort để biểu diễn thông tin về lược đồ sắp xếp. Đặc biệt,

  • chỉ định các thuộc tính mà dữ liệu có thể được sắp xếp. Một thuộc tính có thể đơn giản như một. Nó cũng có thể là một tổng hợp bằng cách kết hợp nhiều thuộc tính mô hình hoặc cột DB. Thông tin chi tiết sẽ được cung cấp sau đây
  • đưa ra các hướng đặt hàng hiện được yêu cầu cho từng thuộc tính
  • đưa ra các hướng đặt hàng theo các cột cấp thấp

Để sử dụng yii\data\Sort, trước tiên hãy khai báo thuộc tính nào có thể được sắp xếp. Sau đó truy xuất thông tin đặt hàng hiện được yêu cầu từ hoặc và sử dụng chúng để tùy chỉnh truy vấn dữ liệu. Ví dụ,

use yii\data\Sort;

$sort = new Sort([
    'attributes' => [
        'age',
        'name' => [
            'asc' => ['first_name' => SORT_ASC, 'last_name' => SORT_ASC],
            'desc' => ['first_name' => SORT_DESC, 'last_name' => SORT_DESC],
            'default' => SORT_DESC,
            'label' => 'Name',
        ],
    ],
]);

$articles = Article::find()
    ->where(['status' => 1])
    ->orderBy($sort->orders)
    ->all();

Trong ví dụ trên, hai thuộc tính được khai báo cho đối tượng Sort. agename

Thuộc tính age là một thuộc tính đơn giản tương ứng với thuộc tính age của lớp Bản ghi Hoạt động Article. Nó tương đương với khai báo sau

'age' => [
    'asc' => ['age' => SORT_ASC],
    'desc' => ['age' => SORT_DESC],
    'default' => SORT_ASC,
    'label' => Inflector::camel2words('age'),
]

Thuộc tính name là một thuộc tính tổng hợp được xác định bởi first_namelast_name của Article. Nó được khai báo bằng cách sử dụng cấu trúc mảng sau

  • Các phần tử
    'age' => [
        'asc' => ['age' => SORT_ASC],
        'desc' => ['age' => SORT_DESC],
        'default' => SORT_ASC,
        'label' => Inflector::camel2words('age'),
    ]
    
    1 và
    'age' => [
        'asc' => ['age' => SORT_ASC],
        'desc' => ['age' => SORT_DESC],
        'default' => SORT_ASC,
        'label' => Inflector::camel2words('age'),
    ]
    
    2 xác định cách sắp xếp theo thuộc tính theo hướng tăng dần và giảm dần tương ứng. Các giá trị của chúng đại diện cho các cột thực tế và hướng theo đó dữ liệu sẽ được sắp xếp theo. Bạn có thể chỉ định một hoặc nhiều cột để biểu thị thứ tự đơn giản hoặc thứ tự tổng hợp
  • Phần tử
    'age' => [
        'asc' => ['age' => SORT_ASC],
        'desc' => ['age' => SORT_DESC],
        'default' => SORT_ASC,
        'label' => Inflector::camel2words('age'),
    ]
    
    3 chỉ định hướng sắp xếp thuộc tính khi được yêu cầu ban đầu. Nó mặc định sắp xếp theo thứ tự tăng dần, nghĩa là nếu nó chưa được sắp xếp trước đó và bạn yêu cầu sắp xếp theo thuộc tính này thì dữ liệu sẽ được sắp xếp theo thuộc tính này theo thứ tự tăng dần
  • Phần tử
    'age' => [
        'asc' => ['age' => SORT_ASC],
        'desc' => ['age' => SORT_DESC],
        'default' => SORT_ASC,
        'label' => Inflector::camel2words('age'),
    ]
    
    4 chỉ định nhãn nào sẽ được sử dụng khi gọi để tạo liên kết sắp xếp. Nếu không được đặt, sẽ được gọi để tạo nhãn từ tên thuộc tính. Lưu ý rằng nó sẽ không được mã hóa HTML

Thông tin. Bạn có thể cung cấp trực tiếp giá trị của truy vấn cơ sở dữ liệu để xây dựng mệnh đề

'age' => [
    'asc' => ['age' => SORT_ASC],
    'desc' => ['age' => SORT_DESC],
    'default' => SORT_ASC,
    'label' => Inflector::camel2words('age'),
]
5 của nó. Không sử dụng vì một số thuộc tính có thể là hỗn hợp và truy vấn cơ sở dữ liệu không thể nhận ra

Bạn có thể gọi để tạo siêu liên kết mà người dùng cuối có thể nhấp vào để yêu cầu sắp xếp dữ liệu theo thuộc tính đã chỉ định. Bạn cũng có thể gọi để tạo một URL có thể sắp xếp. Ví dụ,

yii\data\Sort kiểm tra tham số truy vấn

'age' => [
    'asc' => ['age' => SORT_ASC],
    'desc' => ['age' => SORT_DESC],
    'default' => SORT_ASC,
    'label' => Inflector::camel2words('age'),
]
6 để xác định thuộc tính nào đang được yêu cầu để sắp xếp. Bạn có thể chỉ định thứ tự mặc định thông qua khi không có tham số truy vấn. Bạn cũng có thể tùy chỉnh tên của tham số truy vấn bằng cách định cấu hình thuộc tính

Hướng dẫn cách sử dụng hàm natsort() về mảng trong lập trình PHP

Tác dụng của hàm natsort()

Hàm natsort() sắp xếp một mảng bằng thuật toán "thứ tự tự nhiên"

Các phím được giữ nguyên, tôi. e. ánh xạ khóa-giá trị sẽ không thay đổi bởi thao tác sắp xếp

Bảng dưới đây tóm tắt các chi tiết kỹ thuật của chức năng này

Trả lại giá trị. Trả về TRUE khi thành công hoặc FALSE khi thất bại. Nhật ký thay đổi. Kể từ PHP 5. 2. 10+, chuỗi số đệm bằng 0 (e. g. , '00004') bây giờ bỏ qua phần đệm 0. Phiên bản. PHP4+


cú pháp

Cú pháp cơ bản của hàm natsort() được đưa ra với

Ví dụ sau đây cho thấy hàm natsort() đang hoạt động

________số 8_______

Mẹo. Hàm natsort() thực hiện một thuật toán sắp xếp sắp xếp thứ tự các chuỗi chữ và số theo cách mà con người sẽ. Điều này được mô tả như là một "thứ tự tự nhiên"