Bạn đã học được rằng một biến lưu trữ là một khu vực đang nắm giữ số điện thoại và văn bản. Vấn đề, một biến sẽ chỉ lưu được một giá trị.
Một mảng là một biến đặc biệt, có thể chứa nhiều hơn một giá trị, ở một thời điểm nào.
Nếu bạn có một danh sách các bản ghi (một danh sách các tên xe, ví dụ), lưu trữ các loại xe duy nhất trong các biến có thể giống như thế này:
$cars1=”Saab”;
$cars2=”Volvo”;
$cars3=”BMW”;
Tuy nhiên, những gì nếu bạn muốn vòng lặp thông qua việc tìm thấy một xe ô tô? Và điều gì xảy ra nếu bạn không chỉ có 3 xe ô tô, mà những 300?
Giải pháp tốt nhất ở đây là sử dụng một mảng!
Một mảng có thể tạm giữ tất cả các biến các giá trị của bạn dưới một tên. Và bạn có thể truy cập các giá trị của mảng đề cập đến tên.
Mỗi phần tử trong mảng có chỉ mục riêng của mình để nó có thể dễ dàng truy cập.
Trong PHP, có ba loại arrays:
* Numeric array - Một mảng với một số chỉ mục
* Associative array - Một mảng nơi mỗi ID là chìa khóa kết hợp với một giá trị
* Multidimensional array - Một mảng chứa một hay nhiều arrays
Mảng số (Numeric Arrays)
Một mảng số lưu giữ mỗi yêu tố của mảng với một số chỉ mục.
Có hai phương pháp để tạo ra một số mảng.
1. Trong ví dụ sau chỉ mục được tự động gán (chỉ mục bắt đầu từ 0):
$cars=array(”Saab”,”Volvo”,”BMW”,”Toyota”);
2. Trong ví dụ sau, chúng tôi chỉ định cho các chỉ mục thủ công:
$cars[0]=”Saab”;
$cars[1]=”Volvo”;
$cars[2]=”BMW”;
$cars[3]=”Toyota”;
Ví dụ
Trong ví dụ sau bạn truy cập vào các biến các giá trị của mảng:
<?php
$cars[0]=”Saab”;
$cars[1]=”Volvo”;
$cars[2]=”BMW”;
$cars[3]=”Toyota”;
echo $cars[0] . ” and ” . $cars[1] . ” are Swedish cars.”;
?>
Các mã số ở trên sẽ đưa ra:
Saab and Volvo are Swedish cars.
Liên mảng (Associative Arrays)
Một liên mảng, mỗi ID là chìa khóa kết hợp với một giá trị.
Khi lưu trữ dữ liệu về các giá trị cụ thể được đặt tên, mảng số không phải lúc nào cũng là cách tốt nhất để làm điều đó.
Với liên mảng, chúng tôi có thể sử dụng các giá trị như là chìa khóa và gán giá trị cho chúng.
Ví dụ 1
Trong ví dụ này chúng tôi sử dụng một mảng để phân định lứa tuổi khác nhau với những người khác nhau:
$ages = array(”Peter”=>32, “Quagmire”=>30, “Joe”=>34);
Ví dụ 2
Ví dụ này tương tự như ví dụ 1, nhưng cho thấy một cách thức khác nhau của việc tạo ra mảng:
$ages['Peter'] = “32″;
$ages['Quagmire'] = “30″;
$ages['Joe'] = “34″;
ID keys có thể được sử dụng trong một kịch bản:
<?php
$ages['Peter'] = “32″;
$ages['Quagmire'] = “30″;
$ages['Joe'] = “34″;
echo “Peter is ” . $ages['Peter'] . ” years old.”;
?>
Các mã số ở trên sẽ đưa ra:
Peter is 32 years old.
Multidimensional Arrays
Trong một multidimensional arrays, mỗi yếu tố trong chính mảng cũng có thể là một mảng. Và mỗi yếu tố trong các mảng phụ có thể là một mảng, và như trên.
Ví dụ
Trong ví dụ này, chúng tôi tạo ra một multidimensional arrays, với tự động gán ID keys:
$families = array
(
“Griffin”=>array
(
“Peter”,
“Lois”,
“Megan”
),
“Quagmire”=>array
(
“Glenn”
),
“Brown”=>array
(
“Cleveland”,
“Loretta”,
“Junior”
)
);
Mảng ở trên sẽ giống như thế này, nếu như viết để đưa ra:
Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior
)
)
Cho phép thử hiển thị một giá trị từ mảng ở trên:
echo “Is ” . $families['Griffin'][2] .
” a part of the Griffin family?”;
Đoạn mã ở trên sẽ đưa ra:
Is Megan a part of the Griffin family?

