「Warning: A non-numeric value encountered」と表示されるとき

スポンサーリンク

PHPのエラーメッセージ「Warning: A non-numeric value encountered」は数値が求められる処理で文字列が指定されている場合などに表示されます。たとえば、次のコードは単純な足し算ですが、変数$bには数値が入っていません。

<?php
$a = 100;
$b = "";
echo $a + $b;
?>

変数$bに数値ではない値が入っているので、$a + $bは「Warning: A non-numeric value encountered」になります。

対策はいくつかあります。そもそもWarningなので非表示にすれば済む問題かもしれませんが。それはともかく、次のように型を変換する方法があります。

<?php
$a = 100;
$b = (int)"";
echo $a + $b;
?>

これでエラーメッセージは表示されなくなります。

PHPの基礎が身に付いたかチェックするなら

PHP「直す力」養成ドリル
スポンサーリンク