JavaScriptを有効にしてください

【PHP】PHP Fatal error: Uncaught TypeError: Unsupported operand types 解決方法

 ·  ☕ 1 分で読めます

【PHP】Fatal error: Uncaught TypeError: Unsupported operand types 解決方法

PHP Fatal error: Constant expression contains invalid operations 解決方法メモ

現象

以下のようなコードの場合に PHP Fatal error: Uncaught TypeError: Unsupported operand types というエラーが発生します。

1
2
3
<?php
$i = '';
echo $i + 1;

原因

型が合わないというエラーです。
今回の原因は intstring を足し算しようとしてるためです。
ちなみに今回のエラーは 7.2 系から出るようになったようです。

7.1 なら以下のエラーが出ていた模様。

Notice: A non well formed numeric value encountered in %s on line %d
Warning: A non-numeric value encountered in %s on line %d

PHP: プロパティ - Manual

5 系から 7.0 系の場合はエラーが出ずに暗黙的に 0 に変換されて 1 と表示されていた模様。

対処

対処としては int 型に変換すればいいだけです。
本来、業務などなら数値チェックを行う必要があると思いますので単純に型を変換すれば良いだけではない気はきます。

1
2
3
<?php
$i = '';
echo (int)$i + 1;
共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer