Php sắp xếp mảng các đối tượng

Gần đây tôi cần hiển thị danh sách tác giả trong blog WordPress. Mục tiêu là sắp xếp danh sách tác giả theo số lượng bài đăng trước khi xuất danh sách. Phương pháp tính số bài đăng không phải là khóa có thể sắp xếp trong WordPress' get_posts, vì vậy tôi phải tự sắp xếp danh sách kết quả. Phương thức usort của PHP, cùng với một chức năng tùy chỉnh, cho phép bạn hoàn thành việc sắp xếp một tập hợp các đối tượng theo khóa

PHP

Bước đầu tiên là tạo hàm thực hiện sắp xếp -- đây là hàm đó

function sort_objects_by_total[$a, $b] {
	if[$a->total_posts == $b->total_posts]{ return 0 ; }
	return [$a->total_posts < $b->total_posts] ? -1 : 1;
}

Hàm trả về -1 [nhỏ hơn], 0 [bằng] hoặc 1 [lớn hơn] khi thực hiện so sánh sắp xếp. Việc cuối cùng là áp dụng chức năng sắp xếp cho mảng, được thực hiện bởi usort

usort[$users, 'sort_objects_by_total'];

Đoạn mã trên hiện đảm bảo rằng mảng tác giả của tôi được sắp xếp theo total_posts. Giữ đoạn mã này trong hộp công cụ PHP của bạn cho tương lai -- Tôi chắc chắn rằng bạn sẽ cần nó lúc này hay lúc khác

Có, bạn chắc chắn có thể tạo, lưu trữ, lọc, hợp nhất và làm việc với một mảng các đối tượng trong PHP. Bạn có thể giải mã các đối tượng JSON dưới dạng mảng cũng như tạo bộ sưu tập mảng của các mảng PHP. PHP đưa ra nhiều giải pháp để làm việc với mảng đối tượng

Bài viết này sẽ chia nhỏ 2 tình huống thường gặp khi làm việc với mảng đối tượng trong PHP. Khách truy cập đến với chúng tôi nhiều lần để đặt câu hỏi về cách làm việc với các lớp và đối tượng PHP cũng như các đối tượng JSON. Cả hai tình huống đều phổ biến nhưng có những yêu cầu riêng

Trước tiên hãy tìm hiểu về các lớp và đối tượng PHP. Sau đó, chúng tôi sẽ theo dõi nó với

Làm việc với các lớp và đối tượng PHP

PHP ban đầu được thiết kế như một ngôn ngữ thủ tục thuần túy. Bắt đầu từ PHP 4 và mở rộng đáng kể sang PHP 5, nó đã áp dụng nhiều khái niệm OOP. Ngày nay, PHP là một ngôn ngữ rất linh hoạt cung cấp tất cả các lợi ích và chức năng của các ngôn ngữ hướng đối tượng tiêu chuẩn của bạn

Điều này cũng bao gồm các Lớp và Đối tượng

PHP có các đối tượng chung cấp cơ sở được gọi là stdObjects. Các đối tượng này chỉ chứa các thuộc tính và thường được sử dụng cho các yêu cầu của mô hình. Trên thực tế, bạn có thể sẽ tạo các lớp PHP tùy chỉnh của riêng mình, các lớp này là phần mở rộng của các đối tượng PHP. Các lớp tương đương với một đối tượng trong PHP. Bất cứ khi nào bạn khởi tạo một lớp mới trong PHP, bạn sẽ tạo một đối tượng

Làm việc với các đối tượng JSON trong PHP

Phân tích cú pháp nội dung JSON là một trong những nhiệm vụ đầu tiên của nhiều nhà phát triển PHP. Bạn nhận được các mảng và nội dung JSON khi kết nối với các API bên thứ 3 khác nhau cũng như phản hồi từ các API dựa trên REST của riêng bạn. Điều quan trọng là các nhà phát triển PHP phải biết cách làm việc thành công với JSON nếu họ muốn thành công và phát triển với tư cách là một nhà phát triển

PHP đã có hỗ trợ riêng cho JSON kể từ phiên bản 5. 2 chức năng chính là json_encode và json_decode. Bạn sẽ sử dụng json_encode bất cứ khi nào bạn cần mã hóa các mảng PHP của mình thành một chuỗi JSON. Sử dụng json_decode khi bạn muốn phân tích cú pháp JSON của mình thành mảng đa chiều PHP hoặc mảng PHP stdObjects. Chúng tôi sẽ đi sâu vào những chi tiết đó trong bài viết

Bắt đầu nào

Cách tạo mảng đối tượng trong PHP

  1. Xác định mảng kết quả của bạn với một biến
  2. Tạo một vòng lặp for hoặc foreach để tạo các đối tượng PHP mới
  3. Khởi tạo một đối tượng hoặc lớp mới trong vòng lặp
  4. Chỉ định các thuộc tính mong muốn trong vòng lặp của bạn
  5. Sử dụng hàm array_push hoặc tốc ký để chèn phần tử mới vào mảng PHP
  6. In kết quả của bạn bằng hàm print_r để xác thực các kỳ vọng
  7. Tiếp tục xử lý các yêu cầu chức năng

Đây là một khởi đầu tốt. Đọc hướng dẫn đầy đủ của chúng tôi về cách tạo mảng đối tượng trong PHP với nhiều mã ví dụ

Chủ Đề