PHP 復習メモ - 同じ関数名は定義できない

最近 PHP 力が下がってる気がするので基本から復習中。
(ちなみに PHP のバージョンは 5.5.9 です)

PHP では引数が違っていても同じ関数名は定義できません。

function a ($v1) {
    ...
}

function a ($v1, $v2) {
    ...
}

// Fatal error: Cannot redeclare a() in ...

Fatal error が発生します。

PHP では関数名の大文字小文字を区別しないため 大文字・小文字でもエラーになります。

function a ($v1) {
    ...
}

function A ($v1, $v2) {
    ...
}

// Fatal error: Cannot redeclare A() in ...

PHPの関数も再定義はできません。

function strlen ($v1) {
    ...
}

// Fatal error: Cannot redeclare strlen() in ...

クラスやメソッドも同じです。 (ちなみに、クラス名やメソッド名も大文字小文字を区別しません)

class Test {}

class Test {}

// Fatal error: Cannot redeclare class Test in ...
class Test {

    function b ($v1) {
        ...
    }

    function b ($v1, $2) {
        ...
    }
}

// Fatal error: Cannot redeclare Test::b() in ...

Google サイト内検索

Amazonアソシエイト