08 Nov

Rate this post

Ở bài khai báo biến khi ta muốn lưu trữ một giá trị bạn phải gán giá trị muốn lưu trữ cho biến đó. Nếu chương trình có 100 dữ liệu cần lưu trữ thì bạn phải khai báo biến cho một trăm lần. Để tiết kiệm được thời gian khai báo và có thể lưu trữ được nhiều dữ liệu. Hôm này mình sẽ đi tìm hiểu vấn đề này nhé.  

1. Khái niệm

Mảng là một biến đặc biệt có thể chứa nhiều hơn một giá trị tại một thời điểm.

Một mảng trong PHP  gồm  các phần tử mỗi phần tư có cặp key(khóa)/ value(giá trị), và key luôn luôn phải khác nhau trong các phần tử lưu trong mảng, nếu biết key có thể lấy ra giá trị value

Trong PHP có ba loại mảng:

  • Mảng chỉ mục: Giá trị được lưu trữ và truy cập tuyến tính. Chỉ mục đầu tiên của mảng là 0
     
  •  Mảng liên hợp :key có ý nghĩa rộng hơn Index, dùng tham chiếu đến một phần tử của mảng.
     
  • Mảng đa chiều: là một mảng chứa một hoặc nhiều mảng và truy cập theo chỉ mục
    Ghi chú: trong mảng bạn có thể dùng var_dump hoặc print_r để in ra một mảng để dễ quan sát kiểu dữ liệu, độ dài mảng,

 

2. Khởi tạo một mảng

 Một mảng có thể được khởi tạo rỗng

 

 Một mảng có thể được khởi tạo và cài sẵn các giá trị

 Một mảng có thể được khởi tạo với các chỉ số tùy chỉnh (là mảng liên hợp mình đã giới thiệu ở trên)

 Nếu biến đã không được khởi tạo trước. PHP sẽ tạo ra tự động

3. Truy xuất dữ liệu kiểu mảng

 Truy xuất một phần tử mảng: dùng for

Ví dụ:  Tạo một mảng gồm 10 phần tử là các số nguyên lấy ngẫu nhiên trong [0,100].

Bước 1: Ta khởi tạo mảng có 10 phần tử

Bước 2: Gán các phần tử ta lấy ngẫu nhiên dùng hàm rand(min,max);

Bước 3: Bạn duyệt mảng và in ra màn hình

 Truy xuất một phần tử mảng: dùng foreach

Có thể thay thế key value bằng tên khác, chẳng hạn $k=>$v, miễn rẳng
đảm bảo khai báo :
$chỉ_số=>$giá_trị (của phần tử mảng)

 Truy xuất một phần tử mảng: dùng each()

Hàm each() trả về phần tử kế tiếp của mảng ~ hàm next()

 Truy xuất một phần tử mảng: dùng list()

 

4. Các hàm về mảng

  • Hàm count(), sizeof() trả về kích thước của mảng
     
  • Hàm sort() , asort(), rsort(), arsort(): sắp xếp mảng theo value của phần tử
     
  • Unset($arr[$key]) : xóa phần tử $key khỏi mảng
     
  • Array_slice($arrayname,n1,n2) : ngắt mảng trong đó $arrayname là tên bảng, n1 là vị trí bắt đầu, n2 lấy bao nhiêu phần tử 
     
  • Array_merge($array1,$array2,…); : trộn mảng
     
  • Array_sum($array) : tính tổng
     
  • Array_unique($names) : loại trùng  
    Còn rất nhiều hàm nữa các bạn tham khảo ở đây nhé.http://php.net/manual/en/function.array.php

5. Các mảng xây dựng sẵn

$GLOBALS ,$_POST, $_GET, $_COOKIE, $SESSION,$_REQUEST chúng ta sẽ tìm hiểu chúng qua các bài sau nhé

6. Lời 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 trong php bao gồm 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ạn nhớ nắm chắc trước khi qua bài tiếp theo