Hướng dẫn dùng data strcuture trong PHP
Trong khoa học máy tính, cấu trúc dữ liệu là một cách lưu dữ liệu trong máy tính sao cho nó có thể được sử dụng một cách hiệu quả. Nội dung chính Cấu trúc dữ liệu là hình thức tổ chức một nhóm dữ liệu bao gồm các chức năng:
Trong thiết kế nhiều loại chương trình, việc chọn cấu trúc dữ liệu là vấn đề quan trọng. Kinh nghiệm trong việc xây dựng các hệ thống lớn cho thấy khó khăn của việc triển khai chương trình, chất lượng và hiệu năng của kết quả cuối cùng phụ thuộc rất nhiều vào việc chọn cấu trúc dữ liệu tốt nhất. Mỗi loại cấu trúc dữ liệu phù hợp với một vài loại ứng dụng khác nhau, một số cấu trúc dữ liệu dành cho những công việc đặc biệt. Ví dụ, các B-tree đặc biệt phù hợp trong việc thiết kế cơ sở dữ liệu. Sau khi cấu trúc dữ liệu được chọn, người ta thường dễ nhận thấy thuật toán cần sử dụng. Đôi khi trình tự công việc diễn ra theo thứ tự ngược lại: cấu trúc dữ liệu được chọn do những bài toán quan trọng nhất định có thuật toán chạy tốt nhất với một số cấu trúc dữ liệu cụ thể. Trong cả hai trường hợp, việc lựa chọn cấu trúc dữ liệu là rất quan trọng. Cấu trúc dữ liệu là một khái niệm rất quan trọng trong lập trình, bởi vì nó ảnh hưởng rất lớn đến hiệu năng của hệ thống. Việc lựa chọn được cấu trúc dữ liệu phù hợp trong từng bài toán sẽ giúp cho hiệu năng của hệ thống được đảm bảo tốt nhất. Ngược lại, nếu không sử dụng đúng cấu trúc dữ liệu cần thiết thì có thể gây ảnh hưởng rất lớn đến hoạt động của hệ thống, hậu quả có thể là rất lớn. Trong một cấu trúc dữ liệu thì có 2 thành phần quan trọng chính là container và element.
Ví dụ:
Các cấu trúc dữ liệu thông dụng
Bộ thư biện SPL (Standard PHP Library – Bộ thư viện chuẩn của PHP) cung cấp nhiều cấu trúc dữ liệu tiêu chuẩn để chúng ta có thể sử dụng ngay trong ứng dụng của mình. Các cấu trúc dữ liệu này được phân thành các nhóm dựa vào hình thức triển khai của chúng, và cũng căn cứ vào cách sử dụng chúng trong các tình huống thực tế. Doubly Linked List (Danh sách Liên kết Đôi)Một danh sách liên kết đôi là một danh sách các node được liên kết với nhau theo cả hai hướng. PHP cung cấp sẵn các lớp thuộc nhóm danh sách liên kết đôi bao gồm:
HeapsHeaps là một dạng cấu trúc gần giống với tree, trong đó mỗi node sẽ có giá trị lớn hơn hoặc bằng các node con của nó. PHP cung cấp sẵn các lớp thuộc nhóm Heaps bao gồm:
ArraysArrays là cấu trúc dữ liệu trong đó lưu trữ các phần tử theo hình thức liên tiếp nhau, các phần tử này được truy cập dựa vào chỉ số của chúng. Lưu ý: Cấu trúc Arrays không phải đồng nghĩa với khái niệm “mảng” trong PHP, mảng trong PHP thực tế được triển khai theo hình thức của các hastable (bảng băm) có trật tự. PHP cung cấp sẵn lớp sau:
MapMap là một cấu trúc dữ liệu trong đó các phần tử được quản lí theo cặp key-value (khoá-giá trị). Mảng trong PHP cũng có thể được xem là cấu trúc map, trong đó key có kiểu dữ liệu là integer hoặc string. PHP cung cấp thêm lớp sau trong nhóm Map:
Lưu ý: Học viên có thể tìm hiểu đầy đủ về các cấu trúc dữ liệu sẵn có trong PHP ở đây: https://www.php.net/manual/en/spl.datastructures.php Bài này sẽ giới thiệu các kiểu dữ liệu (data type) trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP. Biến (variable) có thể lưu trữ dữ liệu của những kiểu dữ liệu khác nhau. PHP hỗ trợ các loại kiểu dữ liệu sau: – Kiểu dữ liệu được định nghĩa sẵn (pre-defined data type):
– Kiểu dữ liệu do lập trình viên định nghĩa (user-defined data type):
– Kiểu dữ liệu đặc biệt (special data type):
2. Kiểu dữ liệu IntegerKiểu dữ liệu Integer lưu trữ giá trị số nguyên từ -2,147,483,648 (-2^31) đến 2,147,483,647 (2^31) trong hệ thống 32bit. Một số Interger có thể là số nguyên âm hoặc nguyên dương. Số Integer có thể được biểu diễn ở hệ cơ số 10 (decimal), 8 (octal), 16 (hexadecimal), 2 (binary) và mặc định là hệ cơ số 10. Các số nguyên biểu diễn ở hệ bát phân được khai báo với chữ số
Kết quả
3. Kiểu dữ liệu FloatKiểu dữ liệu Float (Floating Point Numbers) trong PHP còn gọi là Double. Kiểu Float có thể chứa các số thực với dấu chấm động ngăn cách phần nguyên và phần thập phân.
Kết quả
4. Kiểu dữ liệu StringMột String là một chuỗi (String) các ký tự, kể cả các chữ số. Chúng ta có thể sử dụng dấu nháy kép (double quotes) hoặc nháy đơn (single quotes) để tạo một chuỗi (String). Hai loại dấu nháy này có một điểm khác biệt. Xem ví dụ bên dưới để thấy sự khác biệt này.
Kết quả
5. Kiểu dữ liệu BooleanKiểu dữ liệu Boolean chỉ lưu trữ 2 giá trị: TRUE hoặc FALSE. Giá trị kiểu NULL cũng được coi là FALSE trong Boolean. Ngoài NULL, 0 cũng được coi là FALSE trong Boolean. Nếu một chuỗi (string) rỗng (empty) thì nó cũng được coi là FALSE trong Boolean.
Kết quả
6. Kiểu dữ liệu ArrayMột mảng (array) giúp lưu trữ nhiều giá trị có cùng kiểu dữ liệu trong một biến (variable).
Kết quả
7. Kiểu dữ liệu ObjectLớp (class) và đối tượng (object) là 2 khái niệm quan trọng trong lập trình hướng đối tượng (object-oriented programming). Một class là một khuôn mẫu cho objects và một object là một thực thể của một class. Chúng ta sẽ tìm hiểu kỹ hơn về class và object trong phần Lập trình OOP trong PHP.
Kết quả
8. Kiểu dữ liệu NULLNULL là một kiểu dữ liệu đặc biệt, chỉ có thể lưu trữ một giá trị là NULL. Một biến (variable) có kiểu dữ liệu NULL là một biến không có giá trị nào được gán cho nó.
Kết quả
9. Kiểu dữ liệu ResourceKiểu dữ liệu Resource là một kiểu dữ liệu đặc biệt. Nó thật chất không phải là kiểu dữ liệu thực tế. Nó thể hiện việc lưu trữ một tham chiếu đến các hàm và tài nguyên bên ngoài PHP. Một ví dụ phổ biến của việc sử dụng kiểu dữ liệu Resource là một kết nối đến database.
|