مدتی بود به این فکر میکردم که اگر تابعی مثل printf در PHP پشتیبانی میشه که میتونه تعداد متغییر آرگومان داشته باشه پس حتما باید بشه خودمون هم چنین تابعی بنویسیم اما مجال تحقیق رو نداشتم!
البته درسته که میشه آرگومانهایی رو مقدار پیشفرض داد و به اصطلاح Optional کرد اما بازم تعدادشون ثابت و محدوده.
بالاخره امروز فرصت شد و تحقیق کردم و دیدم میشه (!) به این شکل چنین تابعی را پیاده سازی کرد:
<?php
function test() {
for ($i = 0;$i < func_num_args();$i++) {
echo func_get_arg($i)." ";
}
}
test("A","B","C","D","E","F","G");
?>
اینجا دو تابع func_num_args برای
بدست آوردن تعداد آرگومانهای پاس داده شده و func_get_arg برای دریافت
آرگومانی خاص استفاده میشه
تابع دیگری هم هست به نام
func_get_args که آرایه ای شامل تمام آرگومانها رو بر
میگردونه.
خیلی جالب بود بعد از این مدت کار با PHP اینو
نمیدونستم! (خوب اشکالی هم نداره !!)
]]>