|
محدوده یک متغیر قسمتی از برنامه است که متغیر در ان قابل دسترس می باشد . متغیر هائی که در داخل یک تابع تعریف می شوند متغیر محلی هستند و فقط در داخل ان تابع قابل دسترس هستند . به مثال زیر نگاه کنید . تابعی به نام 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
|