Bài 6: Mảng trong lập trình PHP

PHP Cơ bản 07/01/2017 07:00 1295
Mảng là một danh sách các phần tử có cùng kiểu dữ liệu. Mảng có thể là mảng một chiều hay nhiều chiều. Mảng có 2 thành phần là chỉ mục (key) và giá trị. Chỉ mục có thể là số nguyên hoặc là chuỗi. Ví dụ nếu bạn muốn lưu 50 số thay vì định nghĩa 50 biến thì bạn có thể lưu nó vào một mảng có chiều dài là 50 phần tử.

Các loại mảng trong lập trình PHP:

  • Mảng số (numeric array): có thể được sử dụng để lưu trữ số, chuỗi và bất cứ đối tượng nào với chỉ mục của phần tử là số, mặc định giá trị của chỉ mục (index) được bắt đầu từ 0.

Ví dụ: array(1,5,7) hoặc array('ab', 'ac','ad')

  • Mảng  kết hợp (associative array): là loại mảng với chỉ mục là chuỗi, các phần tử trong mảng sẽ được lưu trữ dưới dạng key-value

Ví dụ: array('name'=>'Richard','age'=>'16','address'=>'US');

  • Mảng đa chiều: là một mảng chứa một hoặc nhiều mảng bên trong.

1. Khai báo mảng

Trước đây, cụ thể là trước PHP 5.3, việc khai báo mảng như sau:

$arr = array('Phan tu 1', 'Phan tu 2', 'Phan tu 3');
print_r($arr);

Từ PHP 5.4 trở đi chúng ta có thêm một cách khai báo mảng rất gọn gàng như sau:

$arr = ['Phan tu 1', 'Phan tu 2', 'Phan tu 3'];
print_r($arr);

Mảng trong PHP có thể chứa bất cứ loại dữ liệu trong một mảng:

$arr = ['Phan tu 1', 'Phan tu 2', 'Phan tu 3', 1, 2, true, false, 1.23];
print_r($arr);

Mảng có thể chứa một mảng khác:

$arr = ['Phan tu 1', 'Phan tu 2', 'Phan tu 3', 1, 2, true, false, 1.23, ['Nguyen Van A', 'Nguyen Van B']];
print_r($arr);

Chúng ta có thể gán từng phần tử cho mảng như sau:

$arr = [];
$arr[0] = 1;
$arr[1] = 1;

Các số 0, 1 trong dấu ngoặc được gọi là chỉ số của mảng, hay key, ngoài việc dùng key là các con số, chúng ta cũng có thể dùng nhiều kiểu dữ liệu khác để làm key cho mảng, ví dụ:

$arr = [];
$arr['abc'] = 1;
$arr[true] = 1;
print_r($arr);

Ngoài ra chúng ta cũng có thể gán các giá trị cho mảng như sau:

$arr = [];
$arr[] = 1;
$arr[] = 2;
print_r($arr);

Với cách khai báo này các key sẽ tự động tăng từ 0 cho đến n.

Tóm tắt:

$variable = array(element1, element2)

hoặc

$variable = array(key1=>value1,key2=>value2)

hoăc

$variable[] = value;
$variable[] = value2;

2. Cách lấy các phần tử của mảng

Chúng ta có thể lấy trực tiếp các phần tử bằng cách chỉ định key của nó, ví dụ:

$arr = [];
$arr[] = 1;
$arr[] = 2;
$arr['name'] = 'Nguyen Van A';
$arr['tuoi'] = 20;
$arr['ban-gai'] = ['A', 'B', 'C'];
echo $arr[0];
echo $arr['name'];
print_r($arr['ban-gai']);	

Hay dùng các vòng lặp để lấy các phần tử trong mảng:

$arr = [];
for($i = 0; $i < 10; $i++){
	$arr[] = $i;
}
foreach($arr as $item){
	echo $item, '';
}
$i = 0;
while($i < count($arr)){
	echo $arr[$i], '';
	$i++;
}

Run

Hoặc:

$arr = ['name' => 'Nguyễn Văn A', 'tuoi' => 20, 'luong' => 123456789];
foreach($arr as $key => $value){
	echo $key, ': ', $value, '';
}	

3. Lời kết.

Có thể nói mảng là một thành phần quan trọng và không thể thiếu trong các ngôn ngữ lập trình nói chung và PHP nói riêng. Vì tính chất đó bắt buộc mỗi lập trình viên phải lắm rõ cú pháp khai báo mảng và các hàm liên quan tới việc xử lý mảng. Trong bài tiếp theo chúng ta sẽ đi tìm hiểu Các hàm xử lý mảng trong PHP.

Xem Thêm

Profile photo of adminTheHalfHeart

B.V.T

Sinh ra và lớn nên ở Bắc Giang. Hiện tại thì tôi đang là một lập trình viên tại VietISO. Tôi lập website này với mục đích là bookmark những gì tôi đã đọc qua và mong muốn chia sẻ những gì tôi biết.