Ví dụ về instanceof trong php là gì?

Trong hướng dẫn này, chúng ta sẽ nghiên cứu về toán tử instanceof, toán tử instanceof kiểm tra xem một biến có phải là đối tượng khởi tạo của một lớp nào đó hay không. Các ví dụ trong hướng dẫn này sẽ làm cho nó rõ ràng hơn

Trong hướng dẫn này, chúng ta sẽ nghiên cứu về toán tử instanceof, toán tử instanceof kiểm tra xem một biến có phải là đối tượng khởi tạo của một lớp nào đó hay không. Các ví dụ trong hướng dẫn này sẽ làm cho nó rõ ràng hơn

Loại toán tử

Đây là một loại toán tử khác, instanceof, toán tử này được sử dụng để kiểm tra một đối tượng xem đây có phải là đối tượng của lớp được chỉ định hay không

instanceof cũng có thể được dùng để xác định xem một đối tượng của một lớp có kế thừa thuộc tính  từ một lớp khác hay không

Như bạn có thể thấy, kế thừa từ lớp này sang lớp khác là một cách vô cùng hiệu quả để xây dựng chức năng trong tập lệnh của bạn. Tuy nhiên, rất thường rất dễ bị lạc với tài sản kế thừa của bạn - làm thế nào bạn có thể biết một đối tượng đã cho thuộc lớp nào?

PHP giải cứu bằng một từ khóa đặc biệt, "instanceof", có thể được sử dụng như một toán tử. Ví dụ của sẽ trả về true nếu đối tượng ở phía bên trái thuộc cùng một lớp hoặc hậu duệ của lớp được đưa ra ở phía bên tay phải. Ví dụ: với mã $poppy = new poodle;

if [$poppy instanceof poodle] { }
if [$poppy instanceof dog] { }

Cả hai câu lệnh if đó đều được đánh giá là đúng, bởi vì $poppy là một đối tượng của lớp chó xù và cũng là hậu duệ của lớp chó

Lưu ý của tác giả. Các lập trình viên Java sẽ rất vui khi biết rằng instanceof chính là người bạn cũ mà họ đã quen trong nhiều năm. Đó là một từ khóa tuyệt vời mà bất kỳ người kỳ cựu Java nào cũng sẽ nói với bạn, và gần như chắc chắn bạn sẽ thấy mình sử dụng nó khá thường xuyên trong các tập lệnh của mình.

Nếu bạn chỉ muốn biết liệu một đối tượng có phải là hậu duệ của một lớp hay không chứ không phải của chính lớp đó, bạn có thể sử dụng hàm is_subclass_of[]. Điều này lấy một đối tượng làm tham số đầu tiên của nó [hoặc một chuỗi chứa tên lớp], một chuỗi tên lớp làm tham số thứ hai và trả về giá trị đúng hoặc sai tùy thuộc vào việc tham số đầu tiên có phải là con cháu của lớp được chỉ định trong tham số thứ hai hay không

Hiểu sự khác biệt giữa instanceof và is_subclass_of[] là rất quan trọng - tập lệnh này sẽ làm cho nó rõ ràng


Điều đó sẽ xuất ra 1 rồi 0. Việc đánh máy thành int được sử dụng vì boolean false được in ra dưới dạng "" [trống], nhưng bằng cách đánh máy thành một số nguyên, điều này trở thành 0. Như bạn có thể thấy, sử dụng instanceof báo cáo đúng rằng $poppy là chó xù hoặc chó, trong khi is_subclass_of[] báo cáo sai vì $poppy không phải là hậu duệ của lớp "chó xù" - nó là chó xù

Lưu ý của tác giả. Bạn cũng có thể sử dụng từ khóa instanceof để xem liệu một đối tượng có triển khai giao diện hay không

Bạn muốn học PHP 7?

Hacking with PHP đã được cập nhật đầy đủ cho PHP 7 và hiện có sẵn dưới dạng PDF có thể tải xuống. Nhận hơn 1200 trang học PHP thực hành ngay hôm nay

Nếu điều này hữu ích, vui lòng dành chút thời gian để nói với những người khác về Hacking với PHP bằng cách tweet về nó

Giá trị trả về. Hàm này trả về True nếu đối tượng thuộc lớp này hoặc có lớp này là một trong các cha của nó, nếu không nó sẽ trả về giá trị Sai

Các chương trình dưới đây minh họa hàm is_a[]




Yes
9

Yes
0

Yes
1

Yes
0

Yes
1

Yes
2
Yes
3

Yes
4
Yes
5
Yes
6
Yes
7
Yes
8
Yes
9


20

Yes
0


22


23
Yes
7____125

26

Yes
0


28


29

Yes
0
Yes
1
Yes
2______21

23
Yes
5
Yes
6
Yes
7

Yes
4
Yes
9
Yes
20
Yes
9


20

Yes
0

Yes
24

đầu ra.

Yes

toán tử instanceof
Toán tử instanceof được sử dụng trong PHP để tìm hiểu xem một đối tượng có phải là một thể hiện được khởi tạo của một lớp hay không.

cú pháp


2

Toán hạng. Toán tử này chứa hai toán hạng được liệt kê bên dưới

  • $a. Điều này được sử dụng như một đối tượng
  • Lớp học của tôi. Đó là một tên lớp

Giá trị trả về. Nó trả về True nếu đối tượng thuộc lớp này hoặc có lớp này là một trong các cha của nó, nếu không nó sẽ trả về giá trị Sai

Toán tử kiểu trong PHP là gì?

Redis và PHP . Toán tử số học . Toán tử so sánh. Toán tử logic [hoặc quan hệ]. Toán tử gán.

Việc sử dụng toán tử Instanceof là gì?

Toán tử “instanceof” trong java được sử dụng để kiểm tra xem đối tượng có phải là một thể hiện của loại đã chỉ định [lớp hoặc lớp con hoặc giao diện] hay không . Nó còn được gọi là toán tử so sánh kiểu vì nó so sánh thể hiện với kiểu. Nó trả về true hoặc false.

Làm cách nào để tạo thể hiện của một lớp trong PHP?

Để tạo một thể hiện của một lớp, phải sử dụng từ khóa mới . Một đối tượng sẽ luôn được tạo trừ khi đối tượng đó có một hàm tạo được xác định sẽ đưa ra một ngoại lệ do lỗi. Các lớp nên được xác định trước khi khởi tạo [và trong một số trường hợp, đây là một yêu cầu].

Hàm PHP nào có thể được sử dụng để xác định xem một đối tượng có phải là một thể hiện của một lớp không?

Toán tử instanceof được sử dụng trong PHP để tìm hiểu xem một đối tượng có phải là một thể hiện được khởi tạo của một lớp hay không.

Chủ Đề