Các bạn đã học xong khai báo biến và hằ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.
Nội dung
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:
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:
Ép dữ liệu sang kiểu INT
Cú Pháp: (int)$ten_bien;
Ví dụ 3:
Ví dụ 4:
<?php
$a
=
'123'
;
// Biến $a là kiểu chuỗi có giá trị bằng '123'
$b
= 123;
// Biến $b là kiểu INT có giá trị bằng 123
$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
.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
var_dump(
is_int
(
$a
));
// kết quả là false vì biến $a là kiểu string
?>
Ở 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:
Khi ta cho chạy đoạn lệnh này kết quả ra 0.
Ví dụ 6:
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:
É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:
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:
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:
É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:
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:
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:
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:
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:
Xét ví dụ sau:
Ở 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:
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 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.
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:
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.
0 Lời bình