PHP ERROR
PHP Undefined variable の原因と解決法
定義していない変数を使ったときの警告です。初期化とスペルの確認で解決します。
このエラーメッセージ
Warning: Undefined variable $total
原因
- 変数を初期化する前に使っている
- 変数名のスペルミス($totalと$totul等)
- 関数の外の変数を中で参照している(スコープ)
❌ エラーになるコード
NG
<?php
foreach ([1,2,3] as $n) {
$total += $n;
}
echo $total;
✅ 修正したコード
OK
<?php
$total = 0;
foreach ([1,2,3] as $n) {
$total += $n;
}
echo $total;
▶ 修正済みコードを実行エディタで開く
progoのPHP実行環境(インストール不要・登録不要)でその場で動作を確認できます。
解決のポイント
合計やカウンタは、ループの前に$total = 0;で初期化します。PHPの変数は先頭に$が付き、大文字小文字も区別されます。名前の綴りも合わせましょう。
よくある質問
関数内で外の変数が使えない
PHPは関数スコープが独立しています。引数で渡すかglobalを使います。
警告だけで動くが放置していい?
値がnull扱いになりバグになります。初期化して警告を消しましょう。