منوی اصلی

 

موضوعات

 
محدوده متغیر ها

محدوده یک متغیر قسمتی از برنامه است که متغیر در ان قابل دسترس می باشد . متغیر هائی که در داخل یک تابع تعریف می شوند متغیر محلی هستند و فقط در داخل ان تابع قابل دسترس هستند . به مثال زیر نگاه کنید . تابعی به نام Func1 و متغیری به نام $p در داخل ان تعریف شده است . در داخل تابع متغیر p$ قابل دسترس است ولی در خارج از ان در دسترس نیست و متغیر p$ موجود در خارج از تابع متغیر جداگانه ای می باشد .

function func1(){
$p = "b";
echo $p ;
}

func1();
echo $p;

?>

به مثال دیگری در باره محدوده متغیر ها توجه کنید . این کد کاراکتر m را چاپ می کند . متغیر position$ در داخل تابع change_post() تعریف گشته و محدوده ان همین تابع است . . متغیر position$ موجود در خارج تابع هم یک متغیر سراسری است و محدوده سراسری دارد . یعنی در همه قسمت های برنامه به جز توایع قابل دسترس می باشد البته برای دسترسی به این متغیر در داخل تابع باید از دستور global استفاده کنید

$postion = "m";
function change_post()
{
$postion ="b";
}
change_post();
echo$postion;
?>

دستور global به php می گوید مه متغیر جدیدی را به صورت محلی ایجاد نکند و از متغیری سراسری متناظر استفاده کنید . در مثال زیر دستور global $postion موجود در داخل تابع به php میگوید که متغیر محلی $position را ایجاد نکرده و از متغیر سراسری $position استفاده کنید

$postion = "m";
function change_post()
{
global $postion ="b";
}
change_post();
echo$postion;

?>

در مثال فوق برنامه خروجی b را تولید می کند و $position موجود در داخل و خارج برنامه به یک متغیر رجوع می کند . البته برای رجوع به متغیر سراسری از ازایه $GLOBALS هم میتوان استفاده نمود در مثال زیر دستور

$GLOBALS["position"]="b";

 

به متغیر سراسری $position رجوع می کند و همانگونه که می بینید از کاراکتر $ استفاده نشده است

$postion = "m";
function change_post()
{
$GLOBALS["position"]="b";
}
change_post();
echo$postion;

?>

 

تعداد بازدید : 75 |   نوشتده شده توسط admin در تاریخ 1388/05/15 در ساعت 14:50


امار سایت

 
Maftoox . ltd Free Software ® . Copyright © 2007-2010 Maftoox.Ltd
Powerd By : M.Maftooh    Cms By : Maftoox Engine 2.0.1