1.Khái Niệm Mảng trong lập trình còn gọi là array. Mảng là một biến là biến danh sách các phần tử. Một biến có thể lưu trữ được nhiều giá trị, 1 mảng lưu trữ được nhiều biến đó. Đối với java, c++, c# khi ta khai báo mảng, sử lý giá trị trong mảng ta hay convert giá trị này đúng với kiểu dữ liệu bạn cần để sử lý. Còn trong PHP các giá trị này có thể là 1 các phần tử không đồng nhất dữ liệu cũng được và ta sử lý hoàn toàn bình thường. 2.Khởi tạo khai báo giá trị mảng phần tử trong php Để tạo mảng và khai báo mảng ta sử dụng cú pháp như sau: PHP: $ten_bien = array("gia_tri_1","gia_tri_2","gia_tri_3",...,"gia_tri_n"); Các giá trị cách nhau bằng dấu ',' và các giá trị của mảng có thể là kiểu string, kiểu số, kiểu mảng tùy thuộc vào dữ liệu của bạn. VD: Code lập trình php khai báo 1 mảng sau: PHP: <?php $thanhvienitseovn= array( 'Phạm Công Sơn', 'itseovn@gmail.com', 'xx/xx/1988', 'Lập trình viên', 'itseovn.com' );?> Ý nghĩa code : đó là danh sách thông tin của 1 thành viên nào đó. 3. Add/Thêm giá trị mới hoặc giá trị vào mảng. Khai báo như sau: PHP: $ten_mang[ ] = 'gia_tri'; $ten_mang['key'] = 'gia_tri'; Ví dụ: PHP: <?php $thanhvienitseovn= array( 'Phạm Công Sơn', 'itseovn@gmail.com', 'xx/xx/1988', 'Lập trình viên', 'itseovn.com' ); //add thêm thông tin thành viên này. $thanhvienitseovn['gioitinh'] = 'Nam'; $thanhvienitseovn['DiaChiHienTai'] = 'TP.Hồ Chí Minh';?> Để xem mảng giá trị như thế nào ta sử dụng các lệnh print_r hoặc var_dump, lệnh print_r được dùng nhiều vì xử lý nhanh hơn. VD: về một mảng giá trị như sau: PHP: <?php$thanhvienitseovn= array( 'Phạm Công Sơn', 'itseovn@gmail.com', 'xx/xx/1988', 'Lập trình viên', 'itseovn.com', 'mảng dữ liệu trong lập trình php' );echo "<pre>";//thẻ giứ nguyên định dạng code khi hiển thịprint_r($thanhvienitseovn);echo "</pre>";?> Kết quả được in ra như sau: Mã: Array([0]=>'Phạm Công Sơn', [1]=>'itseovn@gmail.com', [2]=>'xx/xx/1988', [3]=>'Lập trình viên', [4]=>'itseovn.com', [5]=>'mảng dữ liệu trong lập trình php' ) Ai chưa biết về thẻ pre thì đọc bài sau : thẻ pre là gì? 4. Để Tác 1 chuỗi thành 1 mảng ta làm như sau: Sử dụng hàm : explode VD: ta có chuỗi : "diễn đàn seo việt nam". Mã: $html='diễn đàn seo việt nam'; $array= explode(" ", $html); Ta sẽ có mảng như sau: Array( [0]=>'diễn', [1]=>'đàn', [2]=>'seo', [3]=>'việt', [4]=>'nam' ) Để liệt kê số phần tư theo dạng mảng ta dùng hàm: Mã: $html='diễn đàn seo việt nam'; $array=var_dump(explode(' ', $html)); Ta có kết quả như sau: array(5) { [0]=> string(6) "diễn" [1]=> string(5) "đàn" [2]=> string(3) "seo" [3]=> string(6) "việt" [4]=> string(3) "nam" } 5.Đếm tổng số phần tử có trong mảng. Đém số phần tử trong mảng ta dùng hàm count. VD: PHP: <?php$thanhvienitseovn= array( 'Phạm Công Sơn', 'itseovn@gmail.com', 'xx/xx/1988', 'Lập trình viên', 'itseovn.com', 'mảng dữ liệu trong lập trình php' );echo count($thanhvienitseovn); // kết quả in ra là 6 phần tử.?> 6.Các loại mảng có trong PHP Trong PHP có 2 loại mảng là : Mảng tuần tự và mảng bất tuần tự. Mảng tuần tự: Mảng tuần tự là mảng có chỉ số index tăng hoặc giảm theo quy luật nào đó nhất định, vị trí của mảng được bắt đầu bằng số 0. VD mảng tuần tự: PHP: $thanhvienitseovn= array( 'Phạm Công Sơn', 'itseovn@gmail.com', 'xx/xx/1988', 'Lập trình viên', 'itseovn.com', 'mảng dữ liệu trong lập trình php' );$countarr = count($thanhvienitseovn);for($i = 0; $i < $countarr ; $i++){ echo ($thanhvienitseovn[$i].'<br/>'); } Cấu trúc của mảng được in ra tương ứng với các giá trị. Mã: array([0]=>'Phạm Công Sơn', // giá trị tại vị trí số 0 trong mảng là họ tên 'Phạm Công Sơn' [1]=>'itseovn@gmail.com', // giá trị tại vị trí số 1 trong mảng là Email 'itseovn@gmail.com' [2]=>'xx/xx/1988', [3]='Lập trình viên', [4]=>'itseovn.com', [5]=>'mảng dữ liệu trong lập trình php') Các giá trị của mảng được tăng dần từ 0, 1, 2, 3, 4, 5 Mảng bất tuần tự Là mảng sử dụng các giá trị, từ khóa để làm số duyệt mảng. VD mảng bất tuần tự: PHP: $thanhvienitseovn= array( "HoTen"=> 'Phạm Công Sơn', "Email"=> 'itseovn@gmail.com', "NgaySinh"'xx/xx/1988', "NgheNghiep"=>'Lập trình viên', "Web:"=>'itseovn.com', "SoThich"=>'mảng dữ liệu trong lập trình php' );echo $info['HoTen']; //giá trị trả về : Phạm Công Sơnecho $info['Email']; //giá trị trả về : itseovn@gmail.com 7. Cách duyệt mảng phần tử Ta có các cách sau : PHP: foreach($mang as $giatri){ echo $giatri} Hoặc cách. PHP: foreach($mang as $i=>$j){ echo "$i : $j <br />";} Hoăc là. PHP: $countarr = count($mang);for($i = 0; $i < $countarr ; $i++){ echo ($mang[$i].'<br/>'); } 8. Các hàm dùng để xử lý mảng print_r ($array) Dùng để xem cấu trúc của mảng phần tử giống các VD ở trên. count ($array) Hàm trả về giá trị kiểu số nguyên là số phần tử của mảng giống VD trên. array_values ($array) Hàm 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 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. 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ỏ. 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 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ỏ. 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 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ị) sort ($array) Sắp xếp mảng $array theo giá trị tăng dần array_reverse ($array) Đảo ngược vị trí các phần tử của mảng 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 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) 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. 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) array_unique ($array) Loại bỏ những phần tử trùng nhau trong mảng và trả về mảng mới 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 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 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 unserialize ($value) Chuyển chuỗi đặc biệt được tạo từ serialize($value) về trạng thái ban đầu 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. 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. 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 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 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 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 array_combine ($keys, $values) Tạo một mảng mới có khóa được lấy từ mảng $keys và giá trị được lấy từ mảng $values theo tuần tự (Yêu cầu số phần tử ở 2 mảng phải bằng nhau). Tổng hợp internet và có chỉnh sửa, cảm ơn các bạn đã đọc bài viết tại ITSEOVN