Kiểu dữ liệu trong PHP là một khái niệm cơ bản và quan trọng trong lập trình với ngôn ngữ PHP. Trong ngôn ngữ lập trình nói chung, kiểu dữ liệu (data type) định nghĩa loại dữ liệu mà một biến hoặc đối tượng có thể chứa. PHP hỗ trợ nhiều kiểu dữ liệu khác nhau và mỗi kiểu dữ liệu có những đặc điểm và cách sử dụng riêng, phù hợp với từng tình huống cụ thể. Hãy cùng Vietnix tìm hiểu thêm về các kiểu dữ liệu trong PHP qua bài viết dưới đây.
Kiểu dữ liệu trong PHP
Trong PHP hiện có 8 kiểu dữ liệu trong PHP phổ biến khác nhau được xếp thành 3 dạng:
- Kiểu dữ liệu được xác định trước:
- Boolean: dạng dữ liệu True/False
- Integer: số nguyên
- Double: số thực
- String: chuỗi
- Kiểu dữ liệu do người dùng xác định:
- Array: mảng
- Object: đối tượng
- Kiểu dữ liệu đặc biệt:
- NULL: không có giá trị
- resource: nguồn
Trong 8 kiểu dữ liệu trên, 5 trong số đó là kiểu dữ liệu đơn và phần còn lại là kiểu dữ liệu phức hợp. Ngoài ra còn có các kiểu dữ liệu phức tạp khác phục vụ cho các nhu cầu chuyên sâu hơn.
Mọi người cũng xem:
Kiểu dữ liệu trong PHP gồm những gì?
Integer – số nguyên
Đây là kiểu dữ liệu chỉ chứa dạng số nguyên âm và nguyên dương, không có phân số hay số thập phân. Integer có thể được biểu diễn dưới dạng số decimal (cơ số 10, mặc định), octal (cơ số 8, bắt đầu bằng số 0), và hexadecimal (cơ số 16, bắt đầu bằng 0x). Phạm vi của Integer 32-bit nằm trong khoảng từ -2^31 đến 2^31 -1.
Ví dụ:
<?php
// decimal base integers
$deci1 = 50;
$deci2 = 654;
// octal base integers
$octal1 = 07;
// hexadecimal base integers
$octal = 0x45;
$sum = $deci1 + $deci2;
echo $sum;
echo "\n\n";
//returns data type and value
var_dump($sum)
?>
Output như sau:
704
int(704)
Double – số thực
Đây là kiểu dữ liệu chứa số thập phân và phân số bao gồm cả số dương/âm cũng như số lũy thừa. Mặc định, biến kiểu Double sẽ có một vài ký tự số thập phân, giống kiểu “float”, Double cũng dùng dấu chấm cho số thập phân.
Ví dụ:
<?php
$val1 = 50.85;
$val2 = 654.26;
$sum = $val1 + $val2;
echo $sum;
echo "\n\n";
//returns data type and value
var_dump($sum)
?>
Output:
705.11
float(705.11)
String – chuỗi
Đây là kiểu dữ liệu chứa ký tự chữ cái, có bao gồm cả chữ số. Các chuỗi sẽ được viết trong dấu ngoặc kép “…” khi khai báo. bạn cũng có thể dùng ngoặc đơn, nhưng chúng sẽ được xử lý theo cách khác khi in biến.
Ví dụ:
<?php
$name = "Krishna";
echo "The name of the staff is $name \n";
echo 'The name of the staff is $name ';
echo "\n\n";
//returns data type, size and value
var_dump($name)
?>
Output như sau:
The name of the Geek is Krishna
The name of the geek is $name
string(7) "Krishna"
Boolean – Điều kiện kiểm tra
Thường kiểu dữ liệu này dùng để làm điều kiện kiểm tra. Boolean chỉ chứa 2 giá trị là True (1) hoặc False (0). Thực thi thành công sẽ trả về true và thất bại sẽ trả về false. NULL là kiểu dữ liệu có thể xem là dạng false trong Boolean. Ngoài NULL, 0 và một chuỗi trống cũng được xem là false trong Boolean.
Ví dụ:
<?php
if(TRUE)
echo "This condition is TRUE";
if(FALSE)
echo "This condition is not TRUE";
object
?>
Output như sau:
This condition is TRUE
Array – mảng
Mảng là một kiểu dữ liệu phức hợp có thể lưu trữ nhiều giá trị của cùng một kiểu dữ liệu. Dưới đây là một ví dụ về một mảng các số nguyên, kết hợp một loạt dữ liệu có liên quan với nhau.
Ví dụ:
<?php
$intArray = array( 10, 20 , 30);
echo "First Element: $intArray[0]\n";
echo "Second Element: $intArray[1]\n";
echo "Third Element: $intArray[2]\n\n";
//returns data type and value
var_dump($intArray);
?>
Output như sau:
First Element: 10
Second Element: 20
Third Element: 30
array(3) {
[0]=>
int(10)
[1]=>
int(20)
[2]=>
int(30)
}
Objects – đối tượng
Kiểu đối tượng này được hiểu là một tập hợp gồm các thuộc tính và phương thức. Các thuộc tính là các giá trị được chứa trong object, còn phương thức là các hàm thực thi trên object.
Các object có thể tạo ra bằng cách dùng từ khóa new
, hãy xem ví dụ sau:
<?php
class vnx {
public $message; // attribute declaration
function __construct($message) { // Use "__construct" instead of class name
$this->message = $message;
}
function msg() {
return "This is an example of " . $this->message . "!";
}
}
// instantiating a object
$newObj = new vnx("Object Data Type");
echo $newObj->msg();
?>
Output như sau:
This is an example of Object Data Type!
NULL – không có giá trị
Đây là một dạng biến đặc biệt chứa trong mình duy nhất một biến : NULL. Dù được người dùng quy ước tên ở dạng chữ hoa, nhưng NULL lại có phân biệt chữ hoa và chữ thường. Nếu một biến được tạo ra không kèm với giá trị cho trước (without a value) hoặc không chứa giá trị (no value), tự động biến trên sẽ được gán thành NULL (chữ hoa).
Ví dụ:
<?php
$nm = NULL;
echo $nm; // this will return no output
// return data type
var_dump($nm);
?>
Output sẽ trả về NULL
.
Resource – nguồn
Nếu xem xét kĩ càng, bạn có thể thấy resource không hẳn được xem là một kiểu dữ liệu. Cơ bản resource được dùng để chứa các tham chiếu cho các lệnh gọi hàm, tài nguyên PHP bên ngoài. Trong PHP, resource là một kiểu dữ liệu đặc biệt đại diện cho một tài nguyên hệ thống, chẳng hạn như một kết nối cơ sở dữ liệu, một tệp hoặc một socket. Các tài nguyên được tạo bằng cách sử dụng các hàm fopen()
, mysqli_connect()
,… và có thể được truy cập bằng cách sử dụng các hàm fgets()
, mysqli_query()
, v.v.
Kiểu dữ liệu resource
không thể được so sánh với các kiểu dữ liệu khác, chẳng hạn như int
hoặc string
. Các tài nguyên chỉ có thể được so sánh với nhau. Để sử dụng một tài nguyên, bạn phải chuyển chúng đến một hàm có thể xử lý các tài nguyên.
Khi bạn không còn cần một tài nguyên, bạn nên đóng lại bằng cách sử dụng hàm fclose()
, mysqli_close()
, v.v. Điều này sẽ giải phóng tài nguyên và ngăn chặn rò rỉ bộ nhớ.
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về các kiểu dữ liệu trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình PHP, chúc bạn thành công!