Categories PHP-MySQL

Mảng trong PHP

Nói chung mô tả về mảng khá khó hiểu, nhìn qua ví dụ về mảng thì đơn giản hơn, đại khái mảng trong PHP có khả năng lưu trữ nhiều dữ liệu trong chỉ một biến.

Ví dụ:

<?php
$sach = array("Lập trình web với PHP", "HTML – CSS", "Javascript cơ bản");
echo "Để có khả năng tự code được trang web tốt bạn cần đọc hết 3 cuốn sách sau của nhà trường: " . $sach[0] . ", " . $sach[1] . " và " . $sach[2] . ".";
?>

Vậy thì mảng là gì?

Mảng là biến đặc biệt có khả năng lưu trữ nhiều giá trị tại một thời điểm.Giả dụ bạn có danh sách các học sinh trong lớp, dùng mảng để lưu là ý tưởng hay thay vì phải sử dụng khoảng 30 đến 40 biến, bạn chỉ cần sử dụng một mảng chung có tên $lop_hoc (bạn có thể đặt tên khác nếu muốn).

Bạn lấy giá trị trong mảng thế nào? Nếu để ý ví dụ trên bạn có thể nhận ra, mảng được truy xuất thông qua số chỉ mục của phần tử, lưu ý chỉ mục đầu tiên bắt đầu từ 0, nghĩa là phần tử đầu tiên của mảng $a sẽ là $a[0];


Cách tạo mảng trong PHP

Trong PHP, hàm array() dùng để tạo mảng, có 3 kiểu mảng:

  • Mảng chỉ mục: mảng với chỉ mục là số
  • Mảng liên kết (còn có tên mảng kết hợp): mảng với khóa là ký tự
  • Mảng nhiều chiều: mảng mà bên trong nó có một hoặc nhiều mảng khác

Cách thêm dữ liệu vào trong mảng

Phần này rất quan trọng nhé, vì có mảng rồi thì phải biết cách thêm giá trị vào từng phần tử trong mảng.

Cách thứ nhất:

$sach = array("Lập trình web với PHP", "HTML và CSS", "Javascript cơ bản");

Lúc này mảng sẽ có 3 phần tử theo thứ tự và được chỉ mục được bắt đầu tự động từ 0, rồi sau đó là 1 và 2.

Cách thứ hai:

$sach[0] = "Lập trình web với PHP";
$sach[1] = "HTML – CSS";
$sach[2] = "Javascript cơ bản";

Cách này chỉ định phần tử cụ thể được gán giá trị nào.


Độ dài của mảng

Nhiều khi bạn muốn biết mảng có bao nhiêu phần tử, chẳng hạn mảng lớp học thì có bao nhiêu học sinh trong đó. Nhiều khi tìm độ dài của mảng không phải dùng cho bản thân nó mà thông tin này sẽ được dùng trong các vòng lặp để duyệt quả các phần tử mà tẹo nữa bạn sẽ thấy ngay trong phần kế tiếp.PHP dùng hàm count() để đếm phần tử của mảng, ví dụ:

$sach = array("Lập trình web với PHP", "HTML và CSS", "Javascript cơ bản");echo count($sach);

Kết quả sẽ là 3.


Dùng vòng lặp để duyệt qua các phần tử trong mảng

Làm sao để bạn lôi ra từng phẩn tử trong mảng rồi xuất ra màn hình. Trong ví dụ này, chúng tôi kết hợp sử dụng độ dài mảng, vòng lặp for, ví dụ:

$sach = array("Lập trình web với PHP", "HTML và CSS", "Javascript cơ bản");$l = count($sach);for ($i = 0; $i < $l; $i++) { echo $sach[$i]; echo "<br>";}

Mảng liên kết trong PHP

Mảng liên kết dùng từ khóa để kết nối giá trị với phần tử của mảng. Có hai cách để tạo mảng liên kết. Cách thứ nhất:

$gio_hang = array("Quần"=>"3", "Áo"=>"2", "Bút bi"=>"5");

Cách thứ hai:

$gio_hang[Quần] = 3; $gio_hang[Áo] = 2; $gio_hang[Bút bi] = 5;

Từ khóa trong mảng liên kết có thể sử dụng như trong đoạn mã sau:

$gio_hang = array("Quần"=>"3", "Áo"=>"2", "Bút bi"=>"5");echo $gio_hang['Áo'];

Kết quả sẽ là 2.


Sử dụng vòng lặp foreach trong mảng liên kết

Dưới đây là đoạn code mẫu, chú ý hàm foreach, từ khóa as và dấu =>

$gio_hang = array("Quần"=>"3", "Áo"=>"2", "Bút bi"=>"5");foreach($gio_hang as $x => $x_value) {echo "Key=" . $x . ", Value=" . $x_value; echo "<br>";}

Đây là kết quả:

Key=Quần, Value=3
Key=Áo, Value=2
Key=Bút bi, Value=5
Back to Top