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 プログラミング

ワードプレスでヘッダーテンプレートをページによって分けたい時

更新日:2019.11.29
1163
WordPress プログラミング

Advanced Custom Fields Pro(ACFPRO)を使いオプションページを作成する方法

2022.04.22
3094
WordPress プログラミング

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

2020.07.17
1029
WordPress プログラミング

【wordpress投稿】アイキャッチではなく最初の画像をサムネイルにする方法

更新日:2021.10.26
2529