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

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

目次

関連記事

Illustrator プログラミング

【簡単】Illustrator で基準点を軸にアートボードの横幅・高さを変更する方法

2022.02.26
3445
PHP プログラミング

phpを使ってサイトのドメインを取得し、URLを出力する方法。

2021.06.14
5647
WordPress プログラミング

【簡単】is_pageで固定ページを複数指定し、条件分岐する方法【配列arrayを使おう】

2022.03.18
3613
Webツール プログラミング

chromeブラウザで更新したファイルのキャッシュ有効期間を調べる方法【htmlサイト】

2022.01.20
7136