Computer >> Máy Tính >  >> Lập trình >> PHP

Sự khác biệt giữa gettype () trong PHP và get_debug_type () trong PHP 8

Trong các phiên bản PHP trước đó, nếu chúng ta muốn nhận kiểu của một biến, chúng ta đã sử dụng gettype () hàm số. Hàm này trả về kiểu của một biến trong tùy chỉnh của một chuỗi. Nó trả về tất cả các giá trị có thể có như số nguyên, chuỗi, mảng, boolean, đôi, tài nguyên, NULL, kiểu không xác định, v.v.

Tuy nhiên, đã xảy ra sự cố trong gettype hàm số. Nó không trả về tên loại bản địa và quen thuộc. Nó trả về double thay vì float và integer thay vì int, v.v.

Để khắc phục sự cố này, PHP 8 sử dụng get_debug_type chức năng.

hàm get_debug_type ()

Trong PHP 8, get_debug_type hàm trả về kiểu gốc thực sự của các biến. Nó trả về một float, int thay vì double và integer. Hàm này tự động phân giải tên lớp của các đối tượng.

get_debug_type () chức năng giúp trong

  • gỡ lỗi

  • logic kinh doanh

  • báo cáo lỗi

Ví dụ:sử dụng hàm gettype () trong PHP

<?php
   class Novel {}
   class Comments {}
   $novel = new Novel();
   if(! ($novel instanceof Comment)) {
      echo 'Expected ' . Comment::class . ' still got My' . (is_object($novel) ?
      get_class($novel) : gettype($novel));
   }
?>

Đầu ra

Expected Comment still got MyNovel

Ví dụ:Sử dụng hàm get_debug_type () trong PHP 8

<?php
   class Novel {}
   class Comments {}
   $novel = new Novel();
   if(! ($novel instanceof Comment)) {
      echo 'Expected '.Comment::class.' still got My'.get_debug_type($novel);
   }
?>

Đầu ra

Expected Comment still got MyNovel