void は、関数が値を返さないことを示す、 戻り値のみで指定できる型ですが、関数を終了させても構いません。 よって、この型は union 型 の一部として指定することが出来ません。 PHP 7.1.0 以降で利用できます。
注意: 戻り値の型が void である関数であっても、 値を返すことはできます。その場合には、戻り値は常に
nullになります。
(void) による値の破棄
(void) 構文を使うと、式の結果を明示的に破棄できます。
これは、戻り値を無視するのが意図的であることを示すのに便利です。
特に、NoDiscard
アトリビュートが指定された関数やメソッドを呼び出す場合に役立ちます。
他のキャストとは異なり、(void) は値を別の型に変換せず、
値を生成しません。これは文であり、式の一部として使うことはできません。
例1 戻り値を破棄する
<?php
#[\NoDiscard]
function process(): bool {
return true;
}
(void) process(); // 戻り値を明示的に破棄する
?>