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

Loại giả hỗn hợp trong PHP 8

Kiểu hỗn hợp trong PHP 8 là kiểu liên hợp mới được tích hợp sẵn. Kiểu hỗn hợp tương đương với mảng | bool | callable | int | float . Việc trộn loại không hoàn toàn giống với việc bỏ qua loại hoàn toàn.

Điều đó có nghĩa là, người lập trình đã quên viết nó.

Đôi khi, lập trình viên muốn bỏ qua một số kiểu cụ thể để giữ tính tương thích với phiên bản cũ hơn.

Kiểu hỗn hợp trong PHP 8 có thể nhận bất kỳ kiểu thuộc tính / trả về / tham số nào. Chúng ta có thể nói rằng nó bao gồm null, có thể gọi, tài nguyên, tất cả các đối tượng lớp hoặc tất cả các kiểu vô hướng trong PHP. Loại hỗn hợp tương đương với loại Union.

int|float|bool|string|null|array|object|callable|resource

Ví dụ:Loại hỗn hợp trong PHP 8

<?php
   class Student{
      public mixed $studentProperty;
      public function emp(mixed $emp): mixed {}
   }
?>
  • Trong PHP 8, hỗn hợp là một kiểu giả / ảo. Nó đại diện cho một số kiểu mà PHP có thể xử lý, có nghĩa là chúng ta không thể truyền một biến thành hỗn hợp vì nó không tạo ra bất kỳ logic nào.

$foo = (mixed) $bar;

Lưu ý: Hàm gettype () và get_debug_type () không bao giờ có thể trả về hỗn hợp vì kiểu của một biến cũng vậy.

  • Chúng tôi không thể sử dụng kết hợp với các loại khác.

Hàm
function(mixed|FooClass $bar): int|mixed {}

Lưu ý: Trong đoạn mã trên, cả hai loại liên hợp đều không được phép và Nó sẽ gây ra lỗi nghiêm trọng.

Đầu ra

Fatal error: Type mixed can only be used as a standalone type
in C:\xampp\htdocs\gud.php on line 2

Ví dụ:PHP 8 Mã chương trình sử dụng Loại hỗn hợp

<?php
   function debug_function(mixed ...$data){
      print_r($data);
   }
   debug_function(10, 'string', []);
?>

Đầu ra

Array
(
   [0] => 10
   [1] => string
   [2] => Array
   (
   )
)