[Bài 8]PHP Cơ Bản - Mảng Trong PHP: Nội dung bài học gồm có: Mảng Là Gì, Mảng Trong PHP, Đếm Số Phần Tử Trong Mảng, Mảng Đánh Số Thứ Tự - Indexed Array, Mảng Kết Hợp - Associative Array, Mảng Đa Chiều (Multidimensional Array), Thay Đổi Giá Trị Của Phần Tử trong Mảng, Thêm Phần Tử Vào Cuối Mảng, Xoá Phần Tử trong Mản, Mảng Rỗng,
1. Mảng Là Gì
Mảng là kiểu dữ liệu cho phép chúng ta lưu trữ nhiều giá trị trong nó bao gồm việc lưu trữ giá trị của một hoặc nhiều mảng khác.
2. Mảng Trong PHP
Mảng trong PHP được chia thành 3 loại khác nhau đó là:
Mảng đánh số thứ tự (indexed array)
Mảng kết hợp (associative array)
Mảng đa chiều (multidimensional array)
Cả 3 loại trên đều có chung một cú pháp khi tạo mảng.
Cú Pháp Tạo Mảng
Để tạo mảng trong PHP chúng ta có thể sử dụng cú pháp:
array()
Với các phiên bản PHP từ 5.4 trở về sau chúng ta có thể sử dụng cú pháp ngắn gọn hơn như sau:
[]
Ví dụ:
$top_language = array("PHP", "JAVA", "Python", "C++", ".NET");
$top_ language =[" PHP ", " JAVA ", " Python ", "C++", ".NET"];
3. Đếm Số Phần Tử Trong Mảng
Để đếm số lượng phần tử trong một mảng PHP chúng ta sử dụng hàm count():
$top_ language =[" PHP ", " JAVA ", " Python ", "C++", ".NET"];
echo count($top_ language);
?>
4. Mảng Đánh Số Thứ Tự - Indexed Array
Mảng đánh số thứ tự (indexed array) trong PHP là loại mảng mà các phần tử được đánh số thứ tự là các số tự nhiên:
Mảng dưới đây là một mảng đánh số thứ tự với các khoá là các số tự nhiên liên tiếp bắt đầu từ 0:
$top_language = array("PHP", "JAVA", "Python", "C++", ".NET");
print_r($top_language);
?>
Chúng ta cũng có thể sử dụng khoá là số tự nhiên nhưng không liên tiếp nhau:
$top_language = array("PHP", "JAVA", 2=> "Python", 4=> "C++");
$top_language = array("PHP", "JAVA", 4=> "Python", "C++");
Để lặp qua các phần tử trong mảng đánh số thứ tự chúng ta thường sử dụng vòng lặp for:
$top_language =["PHP", "JAVA", "Python", "C++", ".NET"];
$length = count($top_language);
for ($i = 0; $i < $length; $i++) {
echo "Ngôn ngữ đứng thứ " . ($i + 1) . " là: {$top_language[$i]}
";
}
?>
5. Mảng Kết Hợp - Associative Array
Mảng kết hợp (associative array) trong PHP là loại mảng sử dụng khoá là giá trị tuỳ ý thay vì các số tự nhiên liên tiếp.
$top_car_brands = [
"Toyota" => "Japan",
"Honda" => "Japan",
"BMW" => "German",
"Ford" => "USA",
"Hyundai" => "Korea",
];
print_r($top_car_brands);
?>
Để lặp qua từng phần tử trong mảng kết hợp chúng ta thường sử dụng foreach:
foreach ($top_car_brands as $brand => $country) {
echo "$brand là hãng xe của $country
";
}
?>
Trường hợp bạn không cần tới khoá mà chỉ cần tới giá trị của phần tử:
foreach ($top_car_brands as $country) {
echo "$country
";
}
?>
6. Mảng Đa Chiều (Multidimensional Array)
Mảng đa chiều (multidimensional array) là loại mảng mà nó chứa một mảng khác bên trong nó:
$students = [
[
'student_code' => 'MSSV _0001',
'name' => 'Nguyễn Văn A',
'gender' => 'Nam',
'age' => 22,
],
[
'student_code' => 'MSSV _0002',
'name' => 'Nguyễn Thị B',
'gender' => 'Nữ',
'age' => 23,
],
];
print_r($students);
print_r($students[0]);
print_r($students[1]);
?>
Giá trị của biến $students là một mảng đa chiều vì các phần tử có giá trị là các mảng khác nhau.
Lặp qua mảng đa chiều trên sử dụng vòng lặp for:
$length = $students;
for ($i = 0; $i < $length; $i++) {
echo "Sinh viên với mã số {$students[$i]['student_code']} tên là {$students[$i]['name']}
";
}
Các phần tử của mảng đa chiều có thể được đánh khoá tự do giống như mảng kết hợp:
$students = [
'MSSV_0001' => [
'name' => 'Nguyễn Văn A',
'gender' => 'Nam',
'age' => 22,
],
'MSSV_0002' => [
'name' => 'Nguyễn Thị B',
'gender' => 'Nữ',
'age' => 23,
],
];
print_r($students);
?>
Lặp qua mảng đa chiều trên sử dụng vòng lặp foreach:
foreach ($students as $student_code => $student_info) {
echo "Sinh viên với mã số {$student_code} tên là {$student_info['name']}
";
}
7. Thay Đổi Giá Trị Của Phần Tử trong Mảng
Để thay đổi giá trị của phần tử trong mảng chúng ta sử dụng toán tử gán giá trị cho phần tử đó:
$top_language =["PHP", "JAVA", "Python", "C++", ".NET"];
$top_language [4] = "C#";
print_r($top_language);
?>
Thêm Phần Tử Vào Mảng
Để thêm phần tử vào mảng chúng ta sử dụng toán tử gán giá trị với khoá tương ứng cho phần tử được thêm vào:
$top_language =["PHP", "JAVA", "Python", "C++", ".NET"];
$top_language[5] = "Javascript";
print_r($top_language);
?>
8. Thêm Phần Tử Vào Cuối Mảng
Khi thêm phần tử vào mảng mà không sử dụng khoá cho phần tử này thì nó sẽ tự động được thêm vào sau phần tử cuối mảng trong mảng hiện tại:
$top_language =["PHP", "JAVA", "Python", "C++", ".NET"];
$top_language[5] = "Javascript";
print_r($top_language);
?>
9. Xoá Phần Tử trong Mảng
Để xoá phần tử trong một mảng cho trước, chúng ta sử dụng hàm unset():
$top_language =["PHP", "JAVA", "Python", "C++", ".NET", “Javascript”];
unset($top_language[5]);
print_r($top_language);
?>
10. Mảng Rỗng
Mảng rỗng là mảng mà không chứa bất cứ phần tử nào:
$empty_array = [];
print_r($empty_array);
?>
Khi gọi hàm count() trên mảng rỗng giá trị trả về là 0 và chúng ta hoàn toàn có thể thêm phần tử vào mảng rỗng.
Bài học PHP cơ bản khác bạn nên đọc: