すこぶる粉砕★玉砕★大喝采な事実が判明してしまったのですが、
PHP: ユーザー定義関数 - Manual
注意: 関数名は大文字小文字を区別しませんが、通常は 関数宣言時と同じ名前で関数をコールする方が好ましいです。
つまり、関数を呼び出すときに大文字と小文字を区別してくれないのです。
下のコードを見てみませう。
<?php function hoge() { echo 'hoge' . PHP_EOL; } hoge(); HOGE(); hoGe(); hoGE();
4つのhogeは全て呼び出されて、hogeが出力されます。
typoが見過されやすい言語なので、
- PHPを使わない
- 出来るだけ動的補完やコピペを使う
で対処するのがよろしいかと思われます。