Hướng dẫn sử dụng mảng trong PHP
|Hướng dẫn sử dụng mảng trong PHP
Mảng là một phần rất quan trọng trong mọi ngôn ngữ lập trình nói chung và PHP nói riêng. Mảng là một tập hợp nhiều phần tử chứa trong một biến gọi là “biến mảng“, nó lưu trữ các phần tử và có vị trí cho chúng để chúng ta dễ dàng truy xuất và khai thác. Ngoài ra chúng ta cũng có thể sắp xếp thứ tự và dễ dàng xóa bỏ phần tử mong muốn một cách dễ dàng. Hiện nay, các mô hình lập trình MVC đều sử dụng mảng để lưu trữ dữ liệu, vì vậy các bạn nên nắm chắc nội dung bài viết này để có kiến thức vững chắc lập trình PHP.

Hướng dẫn sử dụng mảng trong PHP
Cấu tạo của mảng bao gồm key (khóa truy xuất) và value (giá trị của khóa). Chúng ta dựa vào khóa để truy xuất và có được giá trị của phần tử. Có thể hiểu một cách dễ hơn như là nhà của bạn có nhiều phòng, mỗi phòng đều có cửa, muốn mở cửa vào lấy đồ đạc thì chúng ta cần có chìa khóa để mở cửa. Thì ý tưởng của mảng ở đây cũng như vậy.
Cách tạo khởi tạo một mảng
Như mình đã nói ở trên, một mảng dữ liệu được quản lý thông qua một biến mảng. Có nhiều cách để khởi tạo ra một mảng dữ liệu, mình sẽ ví dụ cho các bạn một số trường hợp như sau để tham khảo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
//Trường hợp không khai báo key thì value1, value2, value3 sẽ lần lượt có các key được cấp phát tự động là: 0,1,2 $bien_mang = array(value1, value2, value3); //Mỗi phần tử phân cách bởi dấu phẩy //Ví dụ $sv = array('Nam', 'Kiên', 'Khương'); //hoặc $sv = array(); $sv[] = 'Nam'; $sv[] = 'Kiên'; $sv[] = 'Khương'; echo $sv[0]; //Output: Nam echo $sv[2]; //Output: Khương //Trường hợp có key thì mỗi giá trị sẽ có key tương ứng. $bien_mang = array(key1 => value1, key2 => value2); //Mỗi phần tử phân cách bởi dấu phẩy //Ví dụ $quoc_gia = array('vn' => 'Việt Nam', 'sg' => 'Singapore'); //hoặc $quoc_gia = array(); $quoc_gia['vn'] = 'Việt Nam'; $quoc_gia['sg'] = 'Singapore'; echo $quoc_gia['vn']; //Output: Việt Nam echo $quoc_gia['sg']; //Output: Singapore |
Mảng trong PHP được chia ra làm 3 loại chính:
- Mảng tuần tự
- Mảng không tuần tự
- Mảng đa chiều
1. Mảng tuần tự
Mảng tuần tự là loại mảng có key bắt đầu từ 0 và được sắp xếp tăng dần +1.
1 2 3 |
$sv = array('Kiên', 'Trọng', 'Khương'); echo $sv[0]; //Lấy ra giá trị Kiên echo $sv[2]; //Lấy ra giá trị Khương |
Như các bạn đã thấy các key 0,1,2, … được cấp lần lượt cho các giá trị kiên, trọng và khương. Để thêm một phần tử vào mảng ta có cú pháp như sau:
1 2 |
$sv[] = 'Nam'; echo $sv[3]; //Lấy ra giá trị Nam vừa được thêm vào, vì với giá trị Khương key 2 đã được cấp phát. |
2. Mảng không tuần tự
Mảng không tuần tự là loại mảng mà key của nó không được cấp phát tuần tự mà do chính lập trình viên như chúng ta tự định nghĩa chúng. Nó có thể là số hoặc chữ nhưng những key này là do chúng ta hoàn toàn đặt thủ công.
1 2 |
$quoc_gia = array('vn' => 'Việt Nam', 'sg' => 'Singapore'); echo $quoc_gia['vn']; //Lấy ra giá trị Việt Nam |
Để thêm một phần tử vào mảng không tuần tự ta làm như sau:
1 2 |
$quoc_gia['cn'] = 'Trung Quốc'; echo $quoc_gia['cn']; //Lấy ra giá trị Trung Quốc |
Các bạn có thể thấy, để truy xuất giá trị của một phần tử, chúng ta chỉ cần nhớ key của nó, sẽ không cần phải nhớ các chữ số phức tạp như của mảng tuần tự.
3. Mảng đa chiều
Mảng đa chiều là loại mảng mà trong nó còn có những mảng con khác. Có thể dễ hình dung như khi bạn đã vào được một phòng rồi, các bạn muốn lấy quần áo thì cần có chìa khóa tủ nữa. Mình sẽ ví dụ cho các bạn về mảng đa chiều như dưới đây:
1 2 3 |
$phong = array(); $phong['301'] = array('mau' => 'Xanh', 'rong' => 4, 'dai' => 5); $phong['302'] = array('mau' => 'Đỏ', 'rong' => 5, 'dai' => 8); |
Ví dụ để lấy màu sắc của phòng 302 ta có cú pháp như sau:
1 2 |
echo $phong['302']['mau']; //Output: Đỏ |
Mở rộng
Để khai thác dữ liệu của mảng chúng ta có nhiều cách, nhưng cách thông dụng nhất là sử dụng hàm: foreach của PHP. Để dễ hiểu hơn mình sẽ ví dụ như sau:
1 2 3 4 5 6 7 8 |
$sv = array('Nam', 'Kiên', 'Khương'); foreach($sv as $key => $value){ echo 'Key: '.$key.' - Value: '.$value . '<br />'; } //Output //0 - Nam //1 - Kiên //2 - Khương |
Kết luận
Dựa vào các ví dụ mẫu về truy xuất dữ liệu của mình ở trên, các bạn có thể kết hợp với các hàm for, while, foreach của PHP để khai thác dữ liệu theo ý mình, cũng như sử dụng chúng để xây dựng một mảng dữ liệu động tùy biến trong quá trình chạy code. Các bạn hãy cố gắng nắm vững những kiến thức này, vì trong thực tế lập trình ứng dụng chúng ta sẽ phải sử dụng mảng rất là nhiều.