PHPで配列を[ ]括弧で渡せることを知らなかった

PHPのコードを見ていた時に、

hoge([$foo]);

というコードを見つけた。
バグかと思ったら、配列として渡しているので問題なかった。
たまたま、配列として受け取る関数に、1つだけ渡していたため認識できなかった。

以下のコードで確認したところ、正常に動くことを確認した。
確認したバージョン:5.6.28

echoTest(array('Oda', 'Toyotomi', 'Tokugawa'));
echoTest(['Oda', 'Toyotomi', 'Tokugawa']);

function echoTest($array)
{
    foreach($array as $value){
        echo $value . PHP_EOL;
    }
}
// 出力結果はどちらも以下になる。
// Oda
// Toyotomi
// Tokugawa

コメント

タイトルとURLをコピーしました