تعریف تابع با تعداد آرگومان نامشخص در PHP

در برنامه نویسی برنامه های تحت وب به زبان PHP گاهی اوقات به مواردی برخورد میکنید که میخواهید به یک تابع تعدادی آرگومان ورودی بفرستید در حالی که تعداد ورودی های شما مشخص نیست.

برای اینکه بتوانید تابعی در PHP تعریف کنید تا به تعداد نامشخص پارامتر ورودی دریافت کند، دو راه اصلی خواهید داشت.

تابع با تعداد ورودی نامشخص در PHP

 

راه اول این است که یک متغیر را به عنوان آرگومان ورودی برای تابع تعریف کنید و در هنگام فراخوانی تابع، یک آرایه که شامل همه ورودی های مورد نیاز است را به آن پاس دهید.

در داخل تابع برای جداسازی و استفاده از مقادیر ارسالی از یک حلقه استفاده میکنیم.

برای اینکه تعداد تکرار حلقه در تابع مشخص باشد، میتوان اندازه آرایه را به عنوان یک ورودی دیگر به تابع فرستاد و یا اندازه آرایه ارسالی را در داخل تابع محاسبه و استفاده کرد.

برای مثال به قطعه کد زیر که تعریف تابعی برای محاسبه میانگین اعداد ورودی است توجه کنید:

 

در تابع فوق، آرایه را با متغیر $args و اندازه آن را با متغیر $size ورودی گرفته ایم.

سپس عملیات های مربوط به محاسبه میانگین اعداد درون آرایه $args انجام شده و در پایان خروجی مورد نظر چاپ شده است.

این تابع صرفا یک مثال جهت فهم بهتر موضوع هست و به همین شیوه میتوانید هر تابعی با عملیات های مورد نظر خود را پیاده سازی کنید و در نهایت، نتیجه خود را چاپ کرده یا آن را برگردانید. (return کنید)

اگر بخواهیم به جای پاس دادن اندازه آرایه، آن را در خود تابع به دست بیاوریم، میتوان تابع را به صورت زیر نوشت:

 

 

راه دیگری برای گرفتن ورودی های متعدد و با تعداد نامشخص در زبان برنامه نویسی PHP وجود دارد که در ادامه به بررسی آن خواهیم پرداخت.

در این روش باید توجه داشت که در تعریف تابع، نباید هیچ گونه متغیر ورودی برای آن مشخص شود!

در ابتدای تابع، برای دریافت آرگومان های ورودی داده شده از تابع func_get_args() استفاده میشود. این تابع تمام پارامتر های ورودی داده شده به تابع را به صورت یک آرایه به ما بازمیگرداند.

به تابع زیر توجه کنید:

 

حتماً توجه داشته باشید که در کد فوق، مقادیر و اعداد ما به عنوان ورودی های مختلف و نه به صورت یک آرایه برای تابع ارسال شده اند.

به همین سادگی میتوانید توابعی تعریف کنید که به تعداد دلخواه ورودی بگیرند.

به جای محاسبه اندازه آرایه، از تابع func_num_args() نیز استفاده میشود. این تابع یک عدد که مشخص کننده تعداد آرگومان های ورودی تابع در هنگام فراخوانی است را به ما میدهد.

 

اگر بخواهید در هر دو روش اندازه آرایه را محاسبه نکنید، برای پیمایش در آرایه بهتر است از حلقه foreach استفاده شود؛ که در مثال بعدی نحوه استفاده از آن نشان داده شده است.

 

تعریف تابع با تعداد نامشخص ورودی، در توابع با اهداف مختلفی کاربرد دارد. به عنوان یک مثال دیگر، اگر بخواهیم تعدادی رشته متنی را برای تابعی که ظیفه اش چاپ کردن هر ورودی در یک خط است ارسال کنیم و نتیجه دلخواهمان را مشاهده کنیم، تابع زیر برای کار ما مناسب خواهد بود.

 

خروجی کد بالا به صورت زیر خواهد بود:

 

 

همانطور که میبینید با این دو روش به راحتی میتوان توابعی با تعداد ورودی نامشخص تعریف کرد و کارهای جالب و خلاقانه و در عین حال سریع انجام داد.



[ برچسب ها ] : , , , , ,
ارسال شده در : بخش کامپیوتر
نظر شما در مورد اين پست چيست ؟

دیدگاه خود را به ما بگویید.

 
 
  دکتری تخصصی برق الکترونیک
طراح مدارهای الکترونیکی
برنامه نویس انواع میکروها
مشاوره و اجرای لینک های وایرلس
پیاده سازی سیستم های مبتنی بر شبکه
E_mail: electronic@sabzelco.ir
Tel: 09150462401
توسعه دهنده برنامه های سمت سرور

طراحی و برنامه نویسی سایت و پرتال های حرفه ای

E_mail: computer@sabzelco.ir
Tel: 09371974233