Kiểm tra loại PHP

Để kiểm tra xem một số đối tượng có thuộc một lớp nhất định hay không, toán tử (nhị phân) instanceof có thể được sử dụng kể từ phiên bản PHP 5

Tham số đầu tiên (bên trái) là đối tượng cần kiểm tra. Nếu biến này không phải là một đối tượng, thì instanceof luôn trả về false. Nếu một biểu thức không đổi được sử dụng, một lỗi sẽ được đưa ra

Tham số thứ hai (bên phải) là lớp để so sánh với. Lớp có thể được cung cấp dưới dạng chính tên lớp, một biến chuỗi chứa tên lớp (không phải là hằng chuỗi. ) hoặc một đối tượng của lớp đó

class MyClass {
}

$o1 = new MyClass();
$o2 = new MyClass();
$name = 'MyClass';

// in the cases below, $a gets boolean value true
$a = $o1 instanceof MyClass;
$a = $o1 instanceof $name;
$a = $o1 instanceof $o2;

// counter examples:
$b = 'b';
$a = $o1 instanceof 'MyClass'; // parse error: constant not allowed
$a = false instanceof MyClass; // fatal error: constant not allowed
$a = $b instanceof MyClass;    // false ($b is not an object)

instanceof cũng có thể được sử dụng để kiểm tra xem một đối tượng có thuộc một lớp nào đó mở rộng một lớp khác hay thực hiện một số giao diện

interface MyInterface {
}

class MySuperClass implements MyInterface {
}

class MySubClass extends MySuperClass {
}

$o = new MySubClass();

// in the cases below, $a gets boolean value true    
$a = $o instanceof MySubClass;
$a = $o instanceof MySuperClass;
$a = $o instanceof MyInterface;

Để kiểm tra xem một đối tượng không thuộc một lớp nào đó, có thể sử dụng toán tử not (!)

class MyClass {
}

class OtherClass {
}

$o = new MyClass();
$a = !$o instanceof OtherClass; // true

Lưu ý rằng dấu ngoặc đơn xung quanh $o instanceof MyClass là không cần thiết vì instanceof có độ ưu tiên cao hơn !, mặc dù nó có thể làm cho mã dễ đọc hơn với dấu ngoặc đơn

Hãy cẩn thận

Nếu một lớp không tồn tại, các chức năng tự động tải đã đăng ký được gọi để cố gắng xác định lớp (đây là một chủ đề nằm ngoài phạm vi của phần này của Tài liệu. ). Trong các phiên bản PHP trước 5. 1. 0, toán tử instanceof cũng sẽ kích hoạt các cuộc gọi này, do đó thực sự xác định lớp (và nếu lớp không thể được xác định, một lỗi nghiêm trọng sẽ xảy ra). Để tránh điều này, hãy sử dụng một chuỗi

// only PHP versions before 5.1.0!
class MyClass {
}

$o = new MyClass();
$a = $o instanceof OtherClass; // OtherClass is not defined!
// if OtherClass can be defined in a registered autoloader, it is actually
// loaded and $a gets boolean value false ($o is not a OtherClass)
// if OtherClass can not be defined in a registered autoloader, a fatal
// error occurs.

$name = 'YetAnotherClass';
$a = $o instanceof $name; // YetAnotherClass is not defined!
// $a simply gets boolean value false, YetAnotherClass remains undefined.

Kể từ phiên bản PHP 5. 1. 0, trình tải tự động đã đăng ký không được gọi nữa trong những tình huống này

Các phiên bản cũ hơn của PHP (trước 5. 0)

Trong các phiên bản PHP cũ hơn (trước 5. 0), hàm

interface MyInterface {
}

class MySuperClass implements MyInterface {
}

class MySubClass extends MySuperClass {
}

$o = new MySubClass();

// in the cases below, $a gets boolean value true    
$a = $o instanceof MySubClass;
$a = $o instanceof MySuperClass;
$a = $o instanceof MyInterface;
3 có thể được sử dụng để xác định xem một đối tượng có thuộc loại nào đó hay không. Hàm này không được dùng trong phiên bản PHP 5 và không được dùng trong phiên bản PHP 5. 3. 0

Trong khi hàm 
3 cho phép kiểm tra nhiều biến trong một lệnh gọi và cung cấp thông tin về kích thước của nội dung biến, thì hàm 
2 cung cấp biểu diễn mảng và đối tượng ngắn gọn hơn. Các hàm này có thể được sử dụng trên các biến thuộc bất kỳ loại nào và chúng tôi sử dụng chúng trong suốt các hướng dẫn này để giúp minh họa kết quả của các ví dụ của chúng tôi
Kiểm tra loại PHP
Ảnh từ Bapt

Để lấy kiểu của một biến trong PHP, bạn cần gọi hàm gettype()

Cú pháp của hàm gettype() như sau

gettype(mixed $value): string

Bạn cần truyền biến muốn kiểm tra làm tham số của hàm

Hàm này sau đó trả về một string đại diện cho loại biến

Đây là một ví dụ về việc chạy chức năng

________số 8_______

Các giá trị có thể có cho chuỗi trả về như sau

  • chuỗi
  • boolean
  • số nguyên
  • gấp đôi
  • mảng
  • mục tiêu
  • nguồn
  • tài nguyên (đã đóng) có sẵn kể từ PHP 7. 2
  • VÔ GIÁ TRỊ
  • loại không xác định

Không có kiểu float vì nó sẽ được trả về dưới dạng double bởi hàm

Và đó là cách bạn có được loại biến trong PHP

Có thể tìm thấy tham chiếu hàm gettype() tại. https. //www. php. net/thủ công/vi/chức năng. gettype. php

Cảm ơn vì đã đọc. 🙏

Làm cách nào để kiểm tra loại trong PHP?

Hàm gettype() trả về loại biến.

Làm cách nào để kiểm tra kiểu chuỗi trong PHP?

Hàm is_string() kiểm tra xem biến có phải kiểu chuỗi hay không. Hàm này trả về true (1) nếu biến là kiểu chuỗi, ngược lại trả về false/nothing.

Làm cách nào để kiểm tra kiểu mảng trong PHP?

Hàm is_array() kiểm tra xem một biến có phải là mảng hay không . Hàm này trả về true (1) nếu biến là một mảng, ngược lại trả về false/nothing.

Làm cách nào để kiểm tra biến trong PHP?

Hàm isset() kiểm tra xem một biến có được đặt hay không, nghĩa là biến đó phải được khai báo và không phải là NULL. Hàm này trả về true nếu biến tồn tại và không phải là NULL, ngược lại trả về false.