PHPは大文字と小文字を区別しないこともある


「2章PHP言語の基本 2.1字句構造」で少し気になったところのメモです。

大文字/小文字

PHPでは「ユーザが定義したクラスや関数の名前、echoやwhile、classといった組み込みのキーワードの名前」について大文字/小文字を区別しません。

<?php
for($i = 0; $i < 1; $i++){ echo "hello\n"; }
For($i = 0; $i < 1; $i++){ echo "hello\n"; }
FOr($i = 0; $i < 1; $i++){ echo "hello\n"; }
?>
hello
hello
hello
<?php
echo "hello\n";
Echo "hello\n";
ECho "hello\n";
?>
hello
hello
hello
<?php
function myfunc() { echo "hello\n"; }
myfunc();
myFunc();
MyFunc();
?>
hello
hello
hello
<?php
class Hoge
{
  function h(){ echo "hello\n"; }
}

$a = new Hoge;
$a->h();

$a = new HOge;
$a->h();

$a = new HOGe;
$a->h();
?>
hello
hello
hello




実際にコードを書く分にはあまり気にしなくて良さそうですが、知らないとハマる可能性があるので、頭の片隅に残しておこうと思います。