当前位置:  首页>> 技术小册>> PHP8入门与项目实战(2)

1.联合类型
PHP 8开始支持联合类型,此时函数可以声明并接收多个不同类型的值,它是两种或多种类型的集合,使用时可以选择其一。例如:

  1. <?php
  2. function getType(string|array|bool $a)
  3. {
  4. var_dump($a); //输出变量的类型
  5. }
  6. getParam(false);
  7. getParam('苹果');
  8. ?>

程序运行后输出内容如下:

  1. bool(false)
  2. string(6) "苹果"

2.mixed类型
PHP 8开始支持mixed类型,该类型等价于:

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

例如下面的代码:

  1. <?php
  2. declare(strict_types=1);
  3. function debug_function(mixed ...$data)
  4. {
  5. var_dump($data);
  6. }
  7. debug_function(1, '黄金', []);
  8. exit;
  9. ?>

程序运行后输出内容如下:

  1. ?array(3) { [0]=> int(1) [1]=> string(6) "黄金" [2]=> array(0) { } }