引数・戻り値の型宣言

引数/戻り値の型宣言

関数の引数・戻り値には明示的に型を指定することができる。

<?php

// 引数に文字列型と整数型、返り値に真偽値型を宣言
function foobar(string $name, int $age): bool {
  return ...
}

?>
引数の型宣言

function 関数名( $変数名)

戻り値の型宣言

function 関数名(): 型 { ... }

指定できる型の種類
  • bool
  • float
  • int
  • string
  • array
  • iterable 配列/Traversal型:foreachで利用できる型
  • callable コールバック関数
  • object
  • クラス/インターフェイス
  • etc.

複合的な型宣言

null許容型

?を型名の先頭につけると引数はnullを許容する。

<?php
function hoge(?int $age) {
  ...
}
?>
Union型

| 区切りで複数の型を指定できる。

<?php
function hoge(int | bool $value) {
  ...
}

// false疑似型
function hoge(int | false $value) {
  ...
}
?>