Trong PHP hỗ trợ một kiểu dữ liệu là dữ liệu kiểu mảng, còn gọi là ARRAY. Mảng là một biến danh sách. Nghĩa là biến thuộc mảng được tạo bởi một hoặc nhiều số hoặc kí tự, cho phép chúng ta lưu trữ, sắp xếp, truy cập các giá trị. Chú ý là mảng trong PHP phần tử bắt đầu luôn là phần tử thứ 0.

Cách khởi tạo mảng trong PHP.

Để khởi tạo mảng trong php ta sử dụng cú pháp sau

Cách 1:

$bien = array(“gia_tri_1″,”gia_tri_2″,”gia_tri_3″,…,”gia_tri_n”);

  • Các giá trị trong mảng cách nhau bởi dấu phẩy (,)
  • Các giá trị của mảng có thể là kiểu string, kiểu số, kiểu mảng

Ví dụ:


$array_ten = array("Thuy","Diem","Loan","Tran");

echo $array_ten[3];//kết quả sẽ là Loan

Cách 2:

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:

$ten_bien[] = “nongdanit”;

$ten_bien[] = “nongdanit1”;

$ten_bien[] = “nongdanit2”;

Thêm phần tử nongdanit3 vào $ten_bien ta làm như sau: $ten_bien[]  = “nongdanit3”;

Và muốn lấy giá trị của nongdanit3 ta có cú pháp: echo $ten_bien[3];

Để xem cấu trúc của một mảng chúng ta có 2 hàm thường được sử dụng là print_r và var_dump.

Trong trường hợp sử dụng print_r có thể thêm cặp thẻ <pre></pre> vào để dễ quan sát.


echo "<pre>";

print_r($array_ten);

echo "</pre>";

//Kết quả sẽ được
Array
(
    [0] => Thuy
    [1] => Diem
    [2] => Loan
    [3] => Tran
)

Mảng kết hợp trong PHP.

Ta có mảng sau:

$sinhvien= array ("name" => "Nongdanit", "job" => "Sinh Viên", "age"=>"18", "email" => "nongdanit@gmail.com");

Nó được tạo nên bởi các index không phải là số mà là một chuỗi hoặc số lẫn chuỗi.

Vậy để lấy giá trị chúng ta phải sử dụng index là chuỗi, như muốn lấy tuổi trong mảng trên là dùng:


echo $sinhvien['age'];//kết quả 18

Phép lặp trong mảng

Cú pháp: ta sử dụng vòng lặp foreach

foreach($array_ten as $value){
    echo "$value<br>";
}

Lặp qua mảng kết hợp như sau:

foreach($sinhvien as $key => $value){
    echo "Key: $key. Value: $value<br>";
}

Một số hàm thường sử dụng đối với mảng:
1. count ($array)
Trả về  số phần tử của mảng
2. array_values ($array)
Trả về một mảng liên tục có các phần tử có giá trị là giá trị lấy từ các phần tử của mảng $array
3. array_keys ($array)
Trả về một mảng liên tục có các phần tử có giá trị là khóa lấy từ các phần tử của mảng $array.
4. array_pop ($array)
Loại bỏ phần tử cuối cùng của mảng. Hàm trả về phần tử cuối cùng đã được loại bỏ.
5. array_push ($array, $val1, $val2, … , $valn)
Thêm một hoặc nhiều phần tử vào cuối mảng $array. Hàm trả về kiểu số nguyên là số lượng phần tử của mảng $array mới
6. array_shift ($array)
Loại bỏ phần tử đầu tiên của mảng. Hàm trả về phần tử đầu tiên đã được loại bỏ.
7. array_unshift ($array, $val1, $val2, … , $valn)
Thêm một hoặc nhiều phần tử vào đầu mảng $array. Hàm trả về kiểu số nguyên là số lượng phần tử của mảng $array mới
8. array_flip ($array)
Trả về một mảng có khóa và giá trị được hoán đổi cho nhau so với mảng $array (giá trị thành khóa và khóa thành giá trị)
9. sort ($array)
Sắp xếp mảng $array theo giá trị tăng dần
10. array_reverse ($array)
Đảo ngược vị trí các phần tử của mảng
11. array_merge ($array1, $array2, …, $arrayn)
Nhập 2 hay nhiều mảng thành một mảng duy nhất và trả về mảng mới
12. array_rand ($array, $number)
Lấy ngâu nhiên $number phần tử từ mảng $array và đưa vào màng mới (lấy giá trị khóa)
13. array_search ($value,$array)
Tìm phần tử mang giá trị $value trong mảng $array. Trả về khóa của phần tử tìm được.
14. array_slice ($array, $begin. $finish)
Trích lấy 1 đoạn phần tử của mảng $array từ vị trí $begin đến vị trí $finish. Phần tư đầu tiên (chỉ số 0), phần tử cuối cùng (chỉ số -1 hay count($array) – 1)
15. array_unique ($array)
Loại bỏ những phần tử trùng nhau trong mảng và trả về mảng mới
16. implode ($str, $array)
Chuyển các giá trị của mảng $array thành một chuỗi bao gồm các phần tử cách nhau bởi ký tự $str
17. explode ($delimiter, $str)
Chuyển một chuỗi thành một mảng. Tách chuỗi dựa vào $delimiter, mỗi đoàn tách ra sẽ thành một phần tử của mảng mới
18. serialize ($value)
Chuyển chuỗi/mảng/đối tượng $value thành một chuỗi đặc biệt để lưu vào cơ sở dữ liệu
19. unserialize ($value)
Chuyển chuỗi đặc biệt được tạo từ serialize($value) về trạng thái ban đầu
20. array_key_exists ($key, $array)
Kiểm tra khóa $key có tồn tại trong mảng $array hay không? Nếu có trả về giá trị true.
21. in_array ($value, $array)
Kiểm tra giá trị $value có tồn tại trong mảng $array hay không? Nếu có trả về giá trị true.
22. array_diff ($array1, $array2)
Trả về một mảng bao gồm các phần tử có giá trị tồn tại trong mảng $array1 nhưng không tồn tại trong mảng $array2
23. array_diff_assoc ($array1, $array2)
Trả về một mảng bao gồm các phần tử có khóa tồn tại trong mảng $array1 nhưng không tồn tại trong mảng $array2
24. array_intersect ($array1, $array2)
Trả về một mảng bao gồm các phần tử giống nhau về giá trị giữa 2 mảng $array1 và $array2
25. array_intersect_assoc ($array1, $array2)
Trả về một mảng bao gồm các phần tử giống nhau về khóa và giá trị giữa 2 mảng $array1 và $array2
26. array_combine ($keys, $values)

Kết luận

  1. Nếu có thắc mắc gì các bạn để lại comment bên dưới mình sẽ trả lời sớm nhất có thể.
  2. Cảm ơn các bạn đã đọc.

Nongdanit.info

 

Mảng trong PHP và các hàm xử lý mảng
Tagged on: