Bài 6: Tổng quan về mảng và các hàm hỗ trợ trong PHP

Bài 6: Tổng quan về mảng và các hàm hỗ trợ trong PHP


Cũng như bao ngôn ngữ lập trình khác. PHP cũng tồn tại một loại dữ liệu được gọi là mảng. Cụ thể hơn Mảng là 1 biến danh sách. Nghĩa là, một biến vốn chứa nhiều phần tử được tạo bởi các số hoặc chuỗi. Nó cho phép chúng ta lưu trữ, sắp xếp thứ tự và truy cập nhiều giá trị với một tên. Và cần lưu ý rằng một phần tử mảng luôn bắt đầu với giá trị là 0.



1- Định nghĩa mảng trong PHP:

Với cú pháp giống với java ta có cách gọi 1 mảng như sau:
$tên_biến= array("Kenny","Maria","Julia","Kenvin")
Như vậy khi gọi giá trị trong mảng ta có:
Echo $tên_biến[2]; // Giá trị sẽ cho là Julia.
Ngoài cách khai báo ở trên chúng ta cũng có thể khai báo bằng cách khác như sau:
$tên_biến[] = "Kenny";
$tên_biến[] = "Gillian";
$tên_biến[] = "Charlene";
$tên_biến[] = "Calvin"
Chúng ta không cần thêm ký tự vào. Vì PHP đã tự xử lý cho chúng ta phần đó.
Để thêm 1 phần tử vào mảng chúng ta cũng có thể sử dụng như sau:
$tên_biến[] = "Jiro";
Như vậy nếu chúng ta gọi giá trị: echo $tên_biến[4] thì giá trị sẽ là jiro. Vì nó được PHP thêm vào sau cùng và ngầm hiểu là giá trị tiếp theo.
Ví dụ:

<?php
$a=array("Kenny","Maria","Julia","Kenvin");
echo $a[2]; //Xuất ra giá trị Julia
?>

2- Khái niệm mảng kết hợp trong PHP

Là các mảng được tạo index bằng các chuỗi , chúng được gợi là các mảng kết hợp.
Ví dụ:

<?
$a= array (name => "Kenny", job => "Teacher", age=>"45", email => "webmaster@vietchuyen.com.vn")
?>
Như vậy để truy cập giá trị của mảng trên chúng ta không thể sử dụng cách cũ được.
Ví dụ: Để lấy giá trị của tuổi tôi không thể sử dụng cách trên : echo $a[2].
Vì chúng ta đã gán giá trị của index cho 1 tên gọi khác. Do vậy để lấy giá trị của tuổi ta sử dụng như sau: echo $a[age] // Kết quả sẽ cho ra 45.

<?
$tên_biến= array (name => "Kenny", job => "Teacher", age=>"45", email => "webmaster@vietchuyen.com.vn")
echo $a[age];
?>

3- Phép lặp trong mảng:

Cú pháp:
foreach($array as $temp)
{ Hành Động }
Trong đó $array là mảng mà ta muốn thực thi việc lặp dữ liệu, và $temp là một biến trong đó ta sẽ tạm thời lưu trữ mỗi phần tử.
Ví dụ:

<?php
$name= array("Kenny", "Jiro", "Calvin", "Gillian");
foreach ($name as $test)
{ echo "$test<br>"; }
?>

b) Lặp lại qua một mảng kết hợp:

Cú pháp:
Foreach($array as $key=>$value)
{ Hành Động }
Trong đó $array là mảng mà ta muốn thực thi việc lặp dữ liệu, $key là một biến vốn tạm thời chứa mỗi khóa, và $value là một biến vốn tạm thời chữa mỗi giá trị.
Ví dụ:

<?php
$person= array(name=>"Kenny", job=>"Teacher", email=>"whiletionvn@gmail.com", age=>"38");
foreach($person as $key=>$test)
{
echo "Key: $key. Gia Tri: $test<br>";
}
?>

4- Các hàm hỗ trợ trong PHP:

+ Hàm gộp mảng:
Cú pháp: array_merge($mang1, $mang2);

+ Hàm tách mảng:
Cú pháp: array_slice($mang, vị trí tách, số lượng tách);

+ Hàm sắp xếp mảng:
Cú pháp: sort($mảng);

+ Hàm sắp xếp mảng theo chỉ mục:
Cú pháp: ksort($mảng);

+ Hàm tìm phần tử có tồn tại trong mảng hay không ?.
Cú pháp: in_array(giá trị tìm, $mảng);

5 - Tổng kết:Qua bài học này, chúng ta tìm hiểu kỹ về các thành phần của mảng một chiều, nhiều chiều và các hàm cơ bản vể xử lý dữ liệu. Hiểu rõ cấu trúc mảng, sự sắp xếp đồng bộ sẽ giúp ích cho các bạn rất nhiều trong những ứng dụng lớn.

Bài tập áp dụng :
1- Xây dựng website có tính năng upload cho phép upload cùng lúc 10 file dữ liệu. 
2- Xây dựng website có tính năng upload, và chỉ cho phép upload file có định dạng hình ảnh như gif, jpg. Ngoài ra các tính năng khác đều có thông báo lỗi không cho upload.

Comments