非数値(文字列)が指定されている場合のエラー(A non-numeric value encountered)について

数値が求められる処理で文字列が指定されている場合のエラーを確認します。以下のコードを実行します。

<?php
  $a = 1;
  $b = 2;
  echo $a + '-' + $b;
?>

この場合、数値と文字列の結合に「+」を使用しているため、以下のエラーが発生します。

//実行結果
Warning: A non-numeric value encountered in xxx.php on line xxx

「+」は数値の足し算で使用する算術演算子です。文字列の結合には「.」を使用します。

<?php
  $a = 1;
  $b = 2;
  echo $a . '-' . $b;
?>

今度はエラーが発生せず、正しい結果が表示できます。

//実行結果
1-2
タイトルとURLをコピーしました