PHPコラム『関数処理関数編 その3』

ヒューマンリソシアで、親方こと格子組の古庄道明氏によるPHPコラム『関数処理関数編 その3』が公開されました。

###
さて早速。
前回やってみました、可変長引数用のサンプルコードです。実行してみましょう。

function own_arg_test() {
$count = 0;
echo “start\n”;
while(false !== ($s = func_get_arg($count ++))) {
var_dump($s);
}
echo “end\n”;
}
own_arg_test(“test1\n”);
own_arg_test(“test2 %d\n”, 10);
own_arg_test(“test3 %d %s\n”, 10, ‘hoge’);
own_arg_test(“test4 %d %s %f\n”, 10, ‘hoge’, 1.23);

実行してみるとわかるのですが。最後に必ず「Warning: func_get_arg(): Argument 4 not passed to function in 」で警告が出てきます。
まぁ「エラー抑止演算子を付ければいいじゃん」という考え方もあるのですが、実はそれ以外にもう一つ、この実装では少し憂慮すべき問題があります。
例えば、以下のようなcallでは、ちゃんと動くのでしょうか?

(この続きは以下をご覧ください)
リンク

関連情報
http://resocia.jp/
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]