Lập trình PHP căn bản Lập trình web

Tổng hợp các hàm xử lý mảng trong PHP

Bài viết Tổng hợp các hàm xử lý mảng trong PHP Aki sẽ giới thiệu cho các bạn các hàm xử lý mảng mà chúng ta thường sử dụng.

1. Lấy danh sách các khóa và danh sách các giá trị của một mảng

  • 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.
  •  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.

2. Loại bỏ phần tử ở đầu và cuối mảng

  • 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_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ỏ

3. Loại bỏ phần tử trùng nhau trong mảng

Sử dụng hàm array_unique ($array) loại bỏ những phần tử trùng nhau trong mảng và trả về mảng mới

4. Xóa phần tử ở vị trí bất kỳ của mảng

Sử dụng hàm unset để xóa bỏ phần tử ở vị trí bất kz trong mảng

5. Thêm một hoặc nhiều phần tử ở đầu hoặc cuối mảng

  • 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_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

6. Đảo ngược vị trí các phần tử của mảng

Sử dụng hàm array_reverse ($array) đảo ngược vị trí các phần tử của mảng, phần tử cuối trở thành phần tử đầu tiên, phần tử kế cuối trở thành phần tử thứ nhì, … kết quả trả về là một mảng mới

7. Hoán đổi chỉ số và giá trị của mảng (đảo $key và $value)

Sử dụng hàm 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ị)

8. Xác định tổng, giá trị lớn nhất và giá trị nhỏ nhất trong mảng

  • Tính tổng các phần tử trong mảng array_sum ($array)
  • Xác định phần tử nhỏ nhất trong mảng min($array)
  • Xác định phần tử lớn nhất trong mảng max($array)

9. Thống kê số lần xuất hiện của các phần tử trong mảng

Sử dụng hàm array_count_values(array) dể thống kê sự xuất hiện của các phần tử trong mảng

10. Kết hợp các mảng lại với nhau

Sử dụng hàm 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

11. Lấy ngẫu nhiên chỉ số ($key) của một mảng nào đó

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)

12. Tìm kiếm phần tử trong mảng

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

13. Kiểm tra sự tồn tại của một $key hoặc $value trong mảng

  • 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.

14. Chuyển đồi các key trong mảng thành chữ hoa hoặc chữ thường

Sử dụng hàm array_change_key_case($array, case) để chuyển đổi các chỉ sổ ($key) trong mảng thành chữ hoa hoặc chữ thường, tùy thuộc vào tham số case truyền vào. Kết quả trả về của hàm sẽ là một mảng mới

15. Chuyển đổi qua lại giữa mảng và chuỗ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

16. Chuyển đổi mảng về một chuỗi đặc biệt và ngược lạ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

17. Xáo trộn thứ tự các phần tử trong mảng

Sử dụng hàm shuffle để tạo ra mảng mới (mảng liên tục) với thứ tự các phần tử trong mảng bị thay đổi

18. Tạo mảng sử dụng hàm range()

Sử dụng hàm range để tạo ra các phần tử của mảng

19. Các trường hợp so sánh giữa hai mảng

Trường hợp 1 : So sánh khác nhau

  • 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 _key ($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_diff_assoc ($array1 , $array2) trả về một mảng bao gồm các phần tử có khóa và giá trị tồn tại trong mảng $array1 nhưng không tồn tại trong mảng $array2

Trường hợp 2 : So sánh giống nhau

  • 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_key ($array1 , $array2) trả về một mảng bao gồm các phần tử giống nhau về khóa 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

20. Trích xuất một đoạn phần tử của mảng

array_slice (array, offset ,length, preserve) trích xuất lấy một đoạn phần tử của mảng tử từ vị trí bắt đầu offset (vị trí bắt đầu trong mảng là 0) và lấy length phần tử.

21. Thay thế một đoạn phần tử của mảng

array_splice(array1 , offset ,length, array2) xóa bỏ một đoạn phần tử của mảng array1 từ từ vị trí offset và lấy length phần tử. Sau đó thay thế các phần tử bị loại bỏ bằng mảng array2

22. Các trường hợp sắp xếp mảng

Sắp xếp theo giá trị

  • sort(array) sắp xếp các phần tử trong mảng array tăng dần theo giá trị
  • rsort(array) sắp xếp các phần tử trong mảng array giảm dần theo giá trị

Sắp xếp theo khóa

  • ksort(array) sắp xếp các phần tử trong mảng array tăng dần theo khóa
  • krsort(array) sắp xếp các phần tử trong mảng array giảm dần theo khóa

Kết thúc bài viết Tổng hợp các hàm xử lý mảng trong PHP Aki cần các bạn thực hiện lại các ví dụ đối với từng hàm này. Ở đây chúng ta không cần nhớ tất cả các hàm này, điều chúng ta cần biết đó là PHP hỗ trợ những hàm nào để xử lý trên mảng, khi có nhu cầu thì chúng ta sẽ sử dụng lại tài liệu này để tra cứu thêm.

Series Navigation<< Khai báo và xử lý mảng trong PHPBài tập thực hành với mảng PHP >>
Nguồn: laptrinhweb.org