揮発性のメモ2

http://d.hatena.ne.jp/iww/

可変長引数のコメントの書き方

これであっているかは不明

PHP5.6より前

phpDocumentorでドキュメントの自動生成
@param

<?
    /**
     * 可変長の関数
     * @param   string   $s      可変長じゃない変数. フォーマット文字列など
     * @param   string   $v,...  可変長の変数. 引数全体から可変長じゃないのを読み捨てた分
     */
    function kahen_cho( $s, $v )
    {
        /** 可変長の変数の配列 */
        $vlist = func_get_args();
        array_shift( $vlist );

        $result = "$s:" . implode(",",$vlist);
        return $result;
    }

    print( kahen_cho("hoge","a","b","c") ."\n" );
    // hoge:a,b,c
  • $vは使ってないけどいいのか
  • 可変長引数の個数がゼロのとき、IDEに「引数の数があっていない」と怒られる

PHP5.6以降

<?
    /**
     * 可変長の関数
     * @param   string   $s      可変長じゃない変数. フォーマット文字列など
     * @param   string[] $vlist  可変長引数. 関数内では配列に見える
     */
    function kahen_cho( $s, ...$vlist )
    {
        $result = "$s:" . implode(",",$vlist);
        return $result;
    }

    print( kahen_cho("hoge","a","b","c") ."\n" );
    // hoge:a,b,c