متغییری که به عنوان ورودی تابع تعریف میکنید فقط داخل بدنه تابع وجود داره و قابل استفاده است و مقدارش هم با فراخوانی تابع مشخص میشه و مقدار نداره تا زمانیکه تابع را صدا بزنید.
به این مثال دقت کنید
کد PHP:
$str='hey boy';
function chap($str){
echo $str;
}
chap('test1');
chap('test2');
echo $str;
خروجی این مثال به این شکل خواهد بود
دقت کنید یک متغییر به اسم $str درست کردیم و مقدار بهش دادیم بعد تابع را تعریف کردیم و دو بار با مقدار های مختلف صداش زدیم ، اسم متغییر ورودی تابع $str است ولی این اسم با اینکه هم اسم $str تعریف شده قبل تابع است ولی هیچ ربطی به هم ندارند ، هر مقداری که زمان صدا زدن تابع بدهید مثل test1 یا test2 همان مقدار در متغییر $str ورودی تابع میشینه و در بدنه تابع هم استفاده میشه
حالا به echo اخر دقت کنید وقتی بعد از صدا زدن تابع مقدار $str را چاپ میکنیم همان مقدار hey boy که اول بهش داده بودیم چاپ میشه یعنی ؟ ورودی تابع یک متغییر مستقل هست که هیچ ربطی به متغییر های دیگه نداره حتی اگر متغییری هم نامش هم وجود داشته باشه و زمان صدا زدن تابع مقدار میگیره ، در بدنه تابع قابل استفاده است و بعد از اجرای تابع از بین میره ...
---------- Post added at 01:12 AM ---------- Previous post was at 01:09 AM ----------
این سایت هم یک ابزار خوب هست که میتوانید مثال های بالا را انلاین اجرا کنید و نتیجه اش را ببینید
Test run php code online, right here - WriteCodeOnline.com/PHP