اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

متغیر استاتیک درون بدنه‌ی تابع

+1 امتیاز
749 نمایش

اگه یه تابع تودرتو داشته باشیم به شکل زیر


$var3 = '';
function f(){
static $var
f = '';
function g(){
static $var_2 = '';
}
}

دسترسی‌ها و محدوده‌های این متغیرها از چه قانونی پیروی می‌کنه؟ با این حالت اشتباهاتی که ممکنه رخ بده چیه؟
پرسیده شده دوشنبه ۱۳ آذر ۱۳۹۱ در PHP توسط PHP_Crawler1  
بازتگ شده یکشنبه ۱۸ فروردین ۱۳۹۲ توسط admin

1 پاسخ

0 امتیاز
 
بهترین پاسخ

برای حالت‌های مختلف خروجی رو نشون می‌دم


$var3 = 'global';
function f(){
static $varf = 'f';
function g(){
static $var2 = 'g';
echo $varf.' '.$var
2.' '.$var3;
}
g();
#output: g


$var3 = 'global';
function f(){
static $varf = 'f';
function g(){
static $var2 = 'g';
global $varf, $var3;
echo $varf.' '.$var
2.' '.$var3;
}
g();
}
f();
#output: g global


$var3 = 'global';
function f(){
static $varf = 'f';
global $var3;
echo $varf.' '.$var2.' '.$var3;
function g(){
static $var
2 = 'g';
}
g();
}
f();
#output: f global

امیدوارم واضح بوده باشه همه چی
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده جمعه ۲۴ آذر ۱۳۹۱ توسط prodo  
انتخاب شده چهارشنبه ۷ فروردین ۱۳۹۲ توسط admin