PHP Cơ bản - Array (mảng)
![](http://img2.blogblog.com/img/icon18_edit_allbkg.gif)
https://itlovedesign.blogspot.com/2019/03/php-co-ban-array-mang.html
Khai báo một mảng có 2 cách:
Cách 1: $array = arrray ( "keyX" => "keyX", "keyY" => "valueY", "keyZ" => "valueZ");
Cách 2: $array = ["keyX" => "keyX", "keyY" => "valueY", "keyZ" => "valueZ"];
Lưu ý các keyX, keyY, keyZ không cần ghi ra cũng được. Mặc định thì các key có giá trị tăng dần từ 0 . Nhưng nếu bạn set key vào thì giá trị mặc định sẽ thay đổi
Vòng lặp
Dùng lệnh ForĐể xuất các giá trị của phần tử trong mảng thì ta sử dụng vòng lặp for như hình bên trên
Kết quả sẽ là :
Tính chiều dài mảng
Ta dùng lệnh count($array)Kết quả
Đối với mảng mà có dạng key=>value, thì ta sử dụng vòng lặp foreach sẽ tiện hơn.
Kết quả
Ngoài Foreach ra thì mình cũng có thể sử dụng vòng lặp while và một số hàm khác để cho một kết quả tương tự
Ở đây mình sẽ lặp cái kiểm tra sự tồn tại của key bằng hàm is_null , hàm key lấy giá trị của key(khóa) phần tử trong mảng và lặp giá trị của key hiện tại, tức là key của phần tử đầu tiên trong mảng. Trong vòng lặp lấy giá trị của phần tử đầu tiên trong mảng bằng hàm current, sai đó xuất ra màn hình, sau đó hàm next sẽ di chuyển con trỏ bên trong đến và xuất ra phần tử tiếp theo trong mảng, cứ như vậy cho đến hết phần tử trong mảng
và kết quả
Thêm cách nữa là sử dụng hàm list và each
Hàm list là hàm để lấy giá trị của khóa và giá trị của phần tử trong mảng gán vào cho biến đại diện cho khóa, biến đại diện cho giá trị của phần tử trong mảng. Hàm each sẽ lấy giá trị của tất cả các khóa (key) và giá trị của phần tử mảng tương ứng với key đó từ vị trí bắt đầu khởi tạo và tăng dần.
Mình gán nó vào hàm list , xuất giá trị biến trong hàm list và sẽ có kết quả như các cách trước
Mảng 2 chiều
Là 1 mảng mẹ chứa các mảng con bên trongVí dụ
Thử xem cấu trúc mảng 2 chiều đó bằng cách print_r nó ra
Như vậy để duyệt mảng 2 chiều và xuất giá trị của mảng ta phải sử dụng vòng lặp 2 lần
Kết quả
Chúc các bạn học tốt :)
Nguồn tham khảo:
https://www.w3schools.com/php/func_array_list.asp
https://www.w3schools.com/php/func_array_next.asp
https://www.w3schools.com/php/func_array_key.asp
http://php.net/manual/en/regexp.reference.escape.php
https://www.w3schools.com/php/func_array_each.asp