【PHP】型の自動変換を防ぐ方法

PHPで引数を数値型に指定したが、文字列で数字を入れた時、自動変換されて数値として認識してしまう。
厳格に型を検査して、自動変換を防ぎたい。
本記事ではこのような悩みを解決。
実装方法について解説します。
厳格な型付けを設定する
<?php declare(strict_types=1); // 厳格に型を検査 ?>
厳格に型を検査するには、declare(strict_types=1)をPHPに記述します。
以上で自動変換されず、型指定と違う型が入力された場合、エラーが出力されるようになります。
declare(strict_types=1)を指定するとページが動作しない
<?php declare(strict_types=1); // ソースファイルの一番上に記述 ?>
<!DOCTYPE html>
<html lang="jp">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
declare(strict_types=1)を記述したが、ページがエラーとなり動作しない場合、
配置箇所が原因の可能性があります。
該当するPHPファイルソースの一番上に記述してみてください。
まとめ
PHPで型の自動変換を防ぐ方法について紹介しました。
以上で解説を終わります。
目次