Written by Kasumi

【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で型の自動変換を防ぐ方法について紹介しました。

以上で解説を終わります。

目次

関連記事

WordPress プログラミング

wordpressのパーマリンクに拡張子(.html等)を付けれるよう変更したい

2020.07.17
1030
WordPress プログラミング

【簡単】デフォルト検索にACFカスタムフィールドの値を含める方法【wordpress】

更新日:2022.03.19
3628
WordPress プログラミング

【簡単wordpress】すべての投稿記事内にある同じURL・文字列を一括置換する方法【Search Regexプラグイン】

2022.02.08
5274
WordPress プログラミング

【簡単】WordPressでテーマ内のファイルURLを取得する方法

2022.04.13
1542