Ở Bài 2: Cú pháp PHP cơ bản, Khai báo hằng và biến trong PHP đã hướng dẫn cơ bản về cú pháp và khái kiệm về biến, hằng, trong bài viết này mình sẽ giới thiệu những kiểu dữ liệu được sử dụng trong biến của ngôn ngữ PHP nhé!
Cách chính để lưu trữ thông tin trong chương trình PHP là sử dụng một biến.
Dưới đây là những điều quan trọng nhất bạn nên biết về biến trong PHP.
- Tất cả các biến trong PHP đều được kí hiệu với dấu $ ở đầu.
- Giá trị của một biến là giá trị của phép gán gần đây nhất của nó.
- Các biến được gán với toán tử =, biến ở bên trái còn biểu thức được ước lượng ở bên phải.
- PHP làm rất tốt việc chuyển đổi tự động từ kiểu này sang kiểu khác khi cần thiết.
- Biến trong PHP giống với Perl.
PHP có tổng tất cả 8 kiểu dữ liệu mà chúng ta sử dụng để xây dựng các biến.
- Integer − Kiểu INT số nguyên. Ví dụ 1989
- Double, Float− Kiểu số thực. Ví dụ 3.14159 hay 49.1.
- Boolean − có 2 giá trị TRUE hoặc FALSE.
- NULL − là một kiểu đặc biệt, nó chỉ có giá trị: NULL
- String − là chuỗi các kí tự.
- Array − là tập hợp được đặt tên và lập chỉ mục của các giá trị khác.
- Object − là instance (sự thể hiện) của các lớp mà lập trình viên tự định nghĩa, nó có thể đóng gói các các loại giá trị và hàm khác nhau, nó dành riêng cho các lớp.
- Resource − là một biến đặc biệt nó giữ tham chiếu tới các tài nguyên ngoại vi đến PHP (ví dụ: kết nối Database).
Kiểu dữ liệu Int (Integer)
Chúng là tất cả các số, bao gồm cả nguyên âm và nguyên dương, nhưng không bao gồm số thực. Nó là kiểu đơn giản nhất. Chúng có thể được gán cho một biến hoặc được sử dụng trong biểu thức
Phạm vi kiểu int nằm trong vùng từ -2147483648 đến 2147483648
Đặc biệt kiểu int có thể ở viết ở nhiều cơ số khác nhau. Kiểu số nguyên có thể trong hệ thập phân, hệ bát phân và hệ thập lục phân. Mặc định là hệ thập phân, hệ bát phân – số nguyên được chỉ định bắt đầu với số 0 và hệ thập lục phân bắt đầu với 0x.
<?php $bien_int = 12345; $bien_int_2 = -12345 + 12345; echo $bien_int . $bien_int_2; $thap_luc_phan = 0x1A; // số thập lục phân ?>
Ép dữ liệu sang kiểu INT
Cú Pháp: (int)$ten_bien;
<?php $bien1 = '123'; //đây là 1 biến chứa chuỗi ký tự $bien = (int)$bien; //biến khi giờ đã được ép kiểu sang int và nó có giá trị là số 123 $bien1 = (int)$bien1; echo $bien1; //khi chạy lệnh echo thì kết quả xuất ra màn hình sẽ là số 123 $bien2 = '123a'; $bien2 = (int)$bien2; echo $bien2; //khi chạy lệnh echo thì kết quả xuất ra màn hình sẽ là số 123, ký tự a sẽ không in được vì không thể chuyển sang số và nó sẽ xoá ký tự đó đi $bien3 = 'a123'; $bien3 = (int)$bien3; echo $bien3; //khi chạy lệnh echo thì kết quả xuất ra màn hình sẽ là số 0 , ký tự a sẽ không in được vì không thể chuyển sang số và nó sẽ xoá ký tự đó đi ?>
Trong đoạn code trên, các bạn chú ý vào $bien3, biến này có chứa lý tự ‘a’ đầu tiên nên nó sẽ không chuyển sang kiểu int được và tự động cắt bỏ tất cả mọi thứ đằng sau nó. Suy ra khi này nó sẽ thành biến rống, và khi nó là chuỗi rống thì sang kiểu INT nó sẽ là số 0
Để kiểm tra một biến nào đó có phải kiểu 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.
Kiểu số thực (Double, Float)
Số thực gồm hai phần, phần nguyên và phần thập phân, được ngăn cách nhau bằng dấu chấm. Kích cỡ của nó được xác định phụ thuộc vào từng platform , giá trị lớn nhất xấp xỉ 1.8e308
<?php $bien_double_1 = 2.2888800; $bien_double_2 = 2.2111200; $ket_qua = $bien_double_1 + $bien_double_2; print("$bien_double_1 + $bien_double_2 = $ket_qua <br>"); ?>
Kết quá xuất ra hàm hình sẽ là: 2.28888 + 2.21112 = 4.5
Ép dữ liệu sáng kiểu số thực
Cũng như kiểu INT, đẻ ép 1 biến sang kiểu số thực bạn chỉ việc sử dụng (float) hoặc (double) trước biến đó. Ví dụ:
<?php $bien = 12; $bien = (float) $bien; // khi này biến bị ép sang kiểu float $bien = (double) $bien; // khi này biến bị ép sang kiểu double echo $bien; ?>
Cũng giống INT, nếu bạn muốn kiểm tra xem 1 biến có phải thuộc kiểu dữ liệu là số thực hay không thì bạn sử dụng 2 hàm này nhé: is_float($bien) hoặc is_double($bien)
Kiểu Boolean trong PHP
Kiểu dữ liệu đơn giản nhất trong PHP. Nó chỉ chứa 2 giá trị là đúng hoặc sai (TRUE hoặc FALSE). Để tạo biến kiểu boolean thì bạn gán giá trị cho nó là TRUE hoặc FALSE.
Đây là quy tắc để xác định tính đúng đắn của bất kì giá trị nào chưa phải là kiểu Boolean.
- Nếu giá trị là một số, nó là false nếu nó bằng 0 và true nếu khác 0.
- Nếu giá trị là một chuỗi, nó false nếu chuỗi là rỗng (không tồn tại kí tự nào) hoặc là chuỗi “0”, nếu không là true.
- Giá trị của kiểu NULL luôn luôn là false.
- Nếu giá trị là một array, nó false nếu nó không chứa các giá trị khác và nếu không là true. Với một object, chứa một giá trị nghĩa là có một biến thành viên đã được gán một giá trị.
- Resource hợp lệ là true (mặc dù có một vài hàm trả về các resource khi chúng thành công, và trả về FALSE nếu thất bại).
- Đừng sử dụng double như là Boolean.
<?php $a = 123; // TRUE $b = 0; // FALSE $c = '0'; // FALSE $d = 'a123b' // TRUE $e = null; // FALSE $f = ''; // FALSE ?>
Kiểu Chuỗi (String) trong PHP
Kiểu chuỗi trong PHP gồm string(chuỗi) và kiểu char(ký tự). Để khai báo chuỗi cho 1 biến, các bạn chỉ cần gán 1 chuỗi vào biến đó.
Chuỗi phải được bao quanh bằng dấu nháy đơn ‘
hoặc dấu nháy kép “
. Chuỗi sử dụng nháy đơn là một chuỗi tĩnh, còn chuỗi sử dụng nháy kép là một chuỗi động, thay đổi tùy theo giá trị của biến.
Không có giới hạn về độ dài của chuỗi, có thể dài tùy ý nếu bộ nhớ cho phép.
Ví dụ:
$string_1 = "Chào mừng đến với tanhongit.net"; $string_2 = "abc 123 hello";
Các chuỗi được giới hạn bởi các dấu nháy kép được PHP xử lý bằng 2 cách sau đây:
- Các chuỗi kí tự bắt đầu với (\) được thay thế với một kí tự đặc biệt
- Các biến (bắt đầu với $) được thay thế bằng biểu diễn chuỗi của giá trị của nó.
Các quy tắc thay thế:
- \n được thay thế bằng ký tự newline (dòng mới)
- \r được thay thế bởi ký tự carriage-return, được hiểu là đưa con trỏ về đầu dòng nhưng không xuống dòng.
- \t được thay thế bởi ký tự tab
- $ được thay thế bằng một dấu $
- \” được thay thế bằng một dấu nháy kép “
- \\ được thay thế bằng một dấu nháy đơn \
Để kiểm tra một biến kiểu chuỗi (string) ta dùng hàm is_string($bien)
, kết quả hàm này trả về TRUE nếu đúng và FALSE nếu không đúng.
Kiểu Mảng (Array) trong PHP
Một mảng là một cấu trúc dữ liệu mà lưu giữ 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. Riêng với PHP thì các phần tử của mảng có thể không cùng kiểu dữ liệu, và các phần tử của mảng được truy xuất thông qua các chỉ mục(vị trí) của nó nằm trong mảng.
Cú pháp
Để tạo mảng chúng ta sử dụng hàm array()
trong PHP (Từ PHP 5.4 trở lên bạn chỉ cần viết giá trị trong cặp dấu [ ] cũng được)
Note: Các bạn dùng hàm var_dump($mang); để in ra các phần tử của mạng để test trong quá trình học nhé. Hàm này có thể sử dụng được tất cả các kiểu dữ liệu trong php. (Hàm var_dump chỉ dùng để test)
//cách tạo mảng 1 <?php $names=array("Tan","Binh","Minh"); var_dump($names); ?>
//cách tạo mảng 2 <?php $names=array( 0 => 'Tan', 1 => 'Binh', 2 => 'Minh' ); var_dump($names); ?>
//cách tạo mảng 3 <?php $names=array(); $names[0] = 'Tan'; $names[1] = 'Binh'; $names[2] = 'Minh'; var_dump($names); ?>
//cách tạo mảng 4 <?php $names=array(); $names[] = 'Tan'; $names[] = 'Binh'; $names[] = 'Minh'; var_dump($names); ?>
Có 3 loại mảng trong PHP:
- Mảng indexed
- Mảng associative
- Mảng đa chiều
Các bạn xem chi tiết về mảng ở bài viết sau nhé!
Kiểu NULL trong PHP
NULL là một kiểu đặc biệt mà chỉ có một giá trị NULL. Để cung cấp cho biến giá trị NULL, đơn giản bạn gán nó như sau:
$a = null; // Khởi tạo biến $a và mang gán giá trị null $b = (int)$a; // sau khi ép kiểu, biến $b có giá trị là ( 0 ) $c = (string)$a; // sau khi ép kiểu, biến $c có giá trị rỗng ( '' ) $d = (bool)$a; // sau khi ép kiểu, biến $d có giá trị FALSE
Giá trị của biến có thể được xóa bằng cách gán giá trị NULL cho biến đó.
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.
Theo qui ước, hằng đặc biệt NULL là viết hoa, nhưng thực sự nó là không phân biệt kiểu chữ, cho nên bạn vẫn có thể viết thường mà không bị lỗi.
Một biến mà đã được gán NULL sẽ có các thuộc tính sau:
- Nó ước lượng là FALSE trong một ngữ cảnh Boolean.
- Nó trả về FALSE khi được kiểm tra với hàm IsSet() trong PHP.
Kiểu Object (đối tượng)
Các bạn sẽ tìm hiểu và học về kiểu dữ liệu này ở phần lập trình hướng đối tượng OOP của PHP ở chương sau nhé!
Kiểu Resource
resource không phải là một kiểu dữ liệu thật sự. Nó được dùng để lưu trữ các tham chiếu đến các hàm hoặc cái tài nguyên bên ngoài. Ví dụ dễ thấy nhất là kêt nối đến database.
Xem thêm:
- Bài 2: Cú pháp PHP cơ bản, Khai báo hằng và biến trong PHP
- Lộ trình học PHP Căn Bản
- Cách sửa lỗi error establishing a database connection cho website
Leave a Reply