PHPにおいて配列の型を明示する簡易的な3つの方法
PHP(8.2)において配列の型が相変わらず明示しづらく使いづらかったので、調べてみました。
https://qiita.com/suin/items/a9ff73591b6e77c133e9
のような記事がありましたが、もっと簡易的な方法で3つ挙げていきます。
- PHPDoc形式で型を明示する
- 配列の中身をオブジェクトにする
- 可変長引数を使う
PHPDoc形式で型を明示する
/**
* @param array<int> $array 整数型の配列
*/
function foo(array $array) {
// ...
}
配列の中身をオブジェクトにする
class Foo {
public int $bar;
}
/**
* @param Foo[] $array Fooオブジェクトの配列
*/
function foo(array $array) {
// ...
}
可変長引数を使う
class Foo {
public int $bar;
}
/**
* @param Foo ...$array Foo型の可変長引数
*/
function foo(Foo ...$array) {
// ...
}
要約
PHPDocをこねくり回すしかないかと思っていましたが、可変長引数で簡易的に配列の型を指定できます。
便利ですね!