Các bạn đã học xong khai báo biếnhằng số trong học lập trình PHP ở bài trước. Bây giờ chúng ta sẽ học bài các kiểu dữ liệu trong php. Trong bài này chúng ta sẽ tìm hiểu tất cả các kiểu dữ liệu. Trừ kiểu dữ liệu trừu tượng vì đây là kiến thức lập trình hướng đối tượng.

Bài 03: Các kiểu dữ liệu trong học lập trình PHP

Nội dung các phần

  • 1 Kiểu dữ liệu INT.
    • Khai báo biến kiểu INT.
    • Ép dữ liệu sang kiểu INT.
    • Kiểm tra dữ liệu có phải kiểu INT.
  • 2 Kiểu dữ liệu boolean.
    • Ép dữ liệu sang kiểu boolean.
    • Kiểm tra một biến kiểu boolean.
  • 3 Kiểu số thực.
    • Ép dữ liệu sang kiểu số thức.
    • Kiểm tra một biến kiểu số thực.
  • 4 Kiểu chuỗi.
    • Kiểm tra một biến kiểu string.
  • 5 Kiểu mảng (array).
    • Khởi tạo và truy xuất các hần tử trong mảng.
    • Có chỉ mục.
    • Kết hợp.
    • Một chiều.
    • Nhiều chiều.
    • Kiểm tra một biến kiểu mảng.
  • 6 Kiểu giá trị Null.
    • Kiểm tra một biến có giá trị null.
  • 7 Kiểu Object (đối tượng).
  • 8 Kết thúc bài học.

1. Kiểu dữ liệu INT

Chữ INT là viết tắt của chữ INTEGER. Là một kiểu dữ liệu dạng số và có thể ở viết ở nhiều cơ số khác nhau.

Ví dụ 1:

ảnh minh họa

Kiểu số INT ta không dùng dấu nháy để bao quanh nó và kích thước của kiểu INT là 32bit. Trong PHP không hỗ trợ nhiều kiểu Unsigned Integer (Số nguyên dương). đây là kiểu Float (số thực). Tuy nhiên không phải lúc nào điều này cũng đúng cho trường hợp số dương.

Khai báo biến kiểu INT

Bạn có biết để khai báo một biến kiểu INT bạn sẽ gán giá trị cho nó là số nguyên (kể cả số âm).

Ví dụ 2:

ảnh minh họa

 

Ép dữ liệu sang kiểu INT

Cú Pháp(int)$ten_bien;

Ví dụ 3:

ảnh minh họa

Ví dụ 4:

1|   <?php
2|   $a = '123'// Biến $a là kiểu chuỗi có giá trị bằng '123'
3|  $b = 123; // Biến $b là kiểu INT có giá trị bằng 123
4|  $c = $a + $b; // Biến C là kết quả của phép toán $a + $b và sẽ có giá trị là 246 nên nó là kiểu INT.
5|  var_dump(is_int($c)); // hàm is_int($tenbien) dùng để kiểm tra một biến có phải là kiểu INT hay không
6|  var_dump(is_int($a)); // kết quả là false vì biến $a là kiểu string
7|  ?>

Ở chúng ta thấy biến $a là chuỗi còn biến $b là số, khi ta cộng 2 biến lại thì các biến sẽ tự động chuyển sang kiểu số INT phù hợp để cộng, và kết quả là kiểu INT cho vào biến $c. Để test ta dùng lệnh var_dump(is_int($c));để xuất ra màn hình kết quả kiểm tra.

Ví dụ 5:

ảnh minh họa

Khi ta cho chạy đoạn lệnh này kết quả ra 0.

Ví dụ 6:

ảnh minh họa

Kiểm tra dữ liệu có phải kiểu INT.

Bạn muốn kiểm tra nó có phải là int không bạn dùng 2 hàm is_int($bien) hoặc is_integer($bien). Kết quả trả về giá trị True nếu là kiểu INT và False nếu không phải kiểu INT.

2. Kiểu dữ liệu boolean

kiểu boolean thì  bạn gán giá trị cho nó là TRUE hoặc FALSE. Lưu ý  TRUE, FALSE  không phân biệt hoa thường, nghĩa là bạn gõ thế nào cũng được miễn là đúng.

Ví dụ 7:

ảnh minh họa

Ép dữ liệu sang kiểu boolean.

Giống như INT bạn sử dụng (bool) hoặc (boolean) để ép kiểu sang kiểu bool. Như vậy trong PHP thì bool và boolean là 2 từ khóa có cùng một ý nghĩa.

Ví dụ 8:

ảnh minh họa

tất cả các kí tự 0 hoặc trosng, null đều được quy về giá trị FALSE,  còn lại thì TRUE. tuy nhiên việc này không cần thiết vì php tự xem xét giá trị và quy về TRUE hay FALSE.

Ví dụ 9:

học lập trình php căn bản

ảnh minh họa

Kiểm tra một biến kiểu boolean

Để kiểm tra một biến có phải kiểu boolean bạn dùng hàm is_bool($bien);để kiểm tra, kết quả của hàm này trả về TRUE nếu là kiểu bool, ngược lại là false nếu không phải kiểu bool.

3. Kiểu số thực

Hiểu một cách nôm na kiểu số thực là những số có phần dư, còn kiểu INT là những số không dư phần nào, như số 1.234 là kiểu số thực, 1234 là kiểu số nguyên (INT). Kích thước của nó còn xác định phụ thuộc vào từng platform nhưng giá trị lớn nhất xấp xỉ 1.8e308. Các kiểu dữ liệu trong php bao gồm có kiểu float, double.

Ví dụ 10:

học lập trình php căn bản

ảnh minh họa

Ép dữ liệu sang kiểu số thức.

Lời khuyên cho các bạn là nên dùng (float), (double) để chuyển kiểu dữ liệu sang số thực cho một biến

Ví dụ 11:

học lập trình php căn bản

ảnh minh họa

Kiểm tra một biến kiểu số thực.

Để kiểm tra một biến phải kiểu số thực không bạn dùng hàm is_float($bien) để kiểm tra cho kiểu float, is_double($bien) để kiểm tra cho kiểu double. Nó sẽ trả về đúng hoặc sai ngay cho bạn.

4. Kiểu chuỗi

Các kiểu dữ liệu trong php thì kiểu chuỗi mình gồm  kiểu string (chuỗi) và char (ký tự). Mỗi ký tự là  1 byte và là một trong 256 ký tự khác nhau. Các bạn muốn khai báo chỉ việc khai báo một biến và gán giá trị chuỗi cho nó. Tất cả chuỗi phải được bao quanh bằng dấu nháy đơn  hoặc dấu nháy kép . Tương tự như vậy Ép kiểu cũng như trên ta dùng (string) để chuyển sang kiểu chuỗi.

Ví dụ 12:

học lập trình php căn bản

ảnh minh họa

Kiểm tra một biến kiểu string

Bạn muốn kiểm tra một biến kiểu chuỗi (string) ta dùng hàm is_string($bien).

5. Kiểu mảng (array)

Khái niệm kiểu mảng đó là danh sách  các phần tử có cùng kiểu dữ liệu và nó là một trong các kiểu dữ liệu trong php có độ phức tạp tính toán cao. Có 2 loại mảng là mảng một chiều hoặc mảng nhiều chiều.

Khởi tạo và truy xuất các phần tử trong mảng

chúng ta khai báo mảng ta dùng cú pháp sau:

học lập trình php căn bản

ảnh minh họa

                   Cách 1:

Cả 4 cách đều có kết quả giống nhau nhưng cú pháp lại khác nhau.

Mảng có chỉ mục

Đây Là một mảng mảng có các phần tử được định danh một chỉ mục (kiểu số) và bắt đầu bằng số 0 và phần tử cuối cùng có chỉ mục là: (n-1). Ở đây n là tổng số phần tử của mảng. Ở đây có nghĩa nếu mảng của bạn có 10 phần từ thì lần lượt các vị trí phần tử trong mảng đó là: [0] – [1] – [2] – [3] – [4] – [5] – [6] – [7] – [8] – [9].

Quay lại 4 cách giải của ví dụ trên:

 1: Bạn khởi tạo một mảng và gán trực tiếp 2 phần từ vào. Bây giờ mảng bắt đầu từ 0 nên nó tự hiểu phần tử đầu tiên có chỉ mục =0. Và phần tử thứ 2 = 1.

2: Bạn khởi taọ một mảng và gán trực tiếp 2 phần tử vào. Nhưng lúc gán bạn có ghi rõ các chỉ mục cho từng phần tử.

3: Chúng ta khởi tạo một mảng rỗng, sau đó bạn dùng 2 lệnh để gán 2 phần tử vào. Mỗi lệnh gán bạn có chỉ rõ chỉ mục.

4: Bạn khởi tạo một mảng rỗng. Tiếp tục bạn dùng 2 lệnh gán 2 phần tử vào nhưng bạn lại không chỉ rõ chỉ mục. Bây giờ PHP sẽ kiểm tra thấy mảng đang rỗng nên phần tử đầu tiên nó sẽ mặc định gán chỉ mục = 0. Và phần tử tiếp theo sẽ bằng phần tử trước nó + 1 tức là sẽ = 1.

Để truy xuất các phần tử của mảng chỉ mục ta dùng cú pháp sau: $tenmang[$index]; trong đó $index là chỉ mục bạn muốn lấy.

Ví dụ 14:

học lập trình php cơ bản

ảnh minh họa

Mảng kết hợp

Mảng kết hợp các phần tử được định danh bằng một cái tên và tất nhiên vị trí các phần tử sẽ không có thứ tự.

Ví dụ 15:

học lập trình php căn bản

Xét ví dụ sau:

học lập trình php căn bản

ảnh minh họa

Ở ví dụ này điều đặc biệt là lúc gán sinh viên Nguyễn Văn B ta không truyền tên cho nó mà chỉ dùng dấu [] để thêm vào. Điều gì sẽ xảy ra? Câu trả lời như sau: Trình biên dịch sẽ chạy dòng thứ 1 khởi tạo một mảng rỗng, dòng thứ 2 thêm một phần tử cho mảng với tên sinhvien_a, dòng thứ 3 nó sẽ thấy ko có truyền chỉ mục nên nó sẽ lưu giá trị Nguyễn Văn B dưới dạng chỉ mục. Bây giời nó xét thấy trong mảng này chưa có chỉ mục nào (vì dòng 2 truyền dạng kết hợp), nên sinh viên Nguyễn Văn B sẽ được lấy chỉ mục = 0.

Việc truy xuất các phần tử trong mảng kết hợp cũng tương tự như mảng chỉ mục ta dùng cú pháp sau: $tenmang[$name], trong đó $name là tên của phần tử bạn muốn lấy ra.

Ví dụ 16:

học lập trình php căn bản

ảnh minh họa

Mảng một chiều

Tất cả những ví dụ ở trên gọi là mảng 1 chiều (gồm mảng 1 chiều chi mục, mảng một chiều kết hợp)
Mảng một chiều

Mảng nhiều chiều

Là mảng có nhiều chỉ mục cho từng phần tử, ví dụ mảng 2 chiều thì mỗi phần tử có 2 chỉ muc, 3 chiều thì mỗi phần tử có 3 chỉ mục, …
Mảng nhiều chiều thực chất cũng chỉ là mảng 1 chiều nhưng được thể hiện dưới dạng nhiều chiều.

Hình ở dưới đây phần tử sẽ được định vị trí ở điểm giao nhau của chỉ số cột và dòng hiện tại minh họa mảng 2 chiều sau được biểu diễn bằng dòng và số cột. Mỗi phần tử sẽ được định vị trí ở điểm giao nhau của chỉ số cột của nó và dòng hiện tại.
mảng nhiều chiều

học lập trình php căn bản

ảnh minh họa

Kiểm tra một biến kiểu mảng

Để kiểm tra một biến có phải kiểu mảng (array) không ta dùng hàm is_array($bien), hàm này trả về TRUE nếu đúng và FALSE nếu không đúng.

Nêu bạn muốn tham khảo thêm về mảng thì có thể đọc bài 21.

6. Kiểu giá trị Null

Ở đây nó là kiểu đặc biệt trong PHP và cũng như các ngôn ngữ lập trình khác, nó mang giá trị rỗng.

Lúc bạn khởi tạo một biến và bạn gán = NULL thì sẽ hệ thông sẽ không tốn bộ nhớ để lưu trữ, nên việc sử dụng nó rất có lợi.

Kiểu NULL khi ép kiểu sang kiểu INT thì bằng 0, khi ép kiểu sang kiểu chuỗi thì = rỗng, và khi ép sang kiểu boolean thì mang giá trị FALSE.

Ví dụ 19:

học lập trình php căn bản

ảnh minh họa

Kiểm tra một biến có giá trị null

Chúng ta muốn kiểm tra một biến có giá trị null hay không ta dùng hàm is_null($bien). Kết quả biến này trả về TRUE là đúng còn FALSE là sai.

7. Kiểu Object (đối tượng)

Ở kiểu này đối tượng (Object) thì nó liên quan đến kiến thức lập trình nâng cao nên chúng ta bỏ qua kiểu này nhé. Nếu bạn nào quan tâm thì có thể xem tại series php nâng cao. 


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.