PHP یک زبان برنامه نویسی بدون نیاز به تعریف نوع داده ای است

اگر به کد مثال فوق دقت نمایید، متوجه می شوید که در هنگام تعریف یک متغیر PHP، مجبور نیستیم نوع داده ای آن را به برنامه اعلام کنیم. خود زبان PHPP، به صورت اتوماتیک، متغیر مورد نظر را به نوع داده ای متناسب با مقدار داده شده، تبدیل کرده و ذخیره می کند. اگر مقدار متنی برای یک متغیر تعیین کرده باشید، PHP آن را از نوع متنی و در صورت تعیین عدد، متغیر را از نوع عددی مشخص می کند. اما در سایر زبان های برنامه نویسی مثل C، CC++ یا جاوا، برنامه نویس بایستی قبل از مقداردهی و استفاده از یک متغیر، حتما نوع داده ای آن را برای کامپایلر مشخص کند.

میدان دید (Scope) در متغیرهای PHP :

در زبان PHP، یک متغیر را می توانید در هر بخشی از اسکریپت که بخواهید، تعریف کنید. میدان دید یا Scope یک متغیر، محدوده ای را مشخص می کند که در آن می توانید به متغیر مورد نظر دسترسی داشته و آن را تغییر داده یا استفاده نمود. در زبان PHP، سه نوع میدان دید یا Scopee برای متغیرها به شرح زیر وجود دارد :

  • local یا محلی
  • global یا سراسری
  • Static یا ثابت

در ادامه به تشریح هر یک از ۳ حالت میدان دید متغیرها در PHP خواهیم پرداخت.

متغیرهای محلی Local و عمومی Global :

اگر یک متغیر، خارج از محدوده یک function تعریف شود، همانند متغیر x در کد مثال زیر، دارای میدان دید عمومی یا GLOBAL SCOPE بوده و فقط در خارج آن تابع قابل استفاده است. در کد مثال زیر، به دلیل تعریف متغیر X درخارج از تابع myTestt، به کار بردن آن در داخل تابع باعث بروز خطا می شود :

 <!--?php

   $x = 5; // global scope
 
   function myTest() {
      // در این تابع باعث بروز خطا می شود x استفاده از
      echo "<p-->Variable x inside function is: $x<p></p>";
     }
     myTest();
 
    echo "<p>Variable x outside function is: $x</p>";
?>
اگر یک متغیر، درونی یک تابع یا function تعریف شود، مثل متغیر x در مثال زیر، دارای میدان دید محلی یا LOCAL SCOPE بوده و فقط درون آن تابع قابل استفاده می باشد؛ در کد مثال زیر، به کار بردن متغیر X در خارج از تابع myTest() باعث بروز خطا می شود :
<!--?php
   function myTest() {
      $x = 5; // local scope
      echo "<p-->Variable x inside function is: $x<p></p>";
    }
   myTest();
 
      // در خارج از این تابع باعث بروز خطا می شود x استفاده از
   echo "<p>Variable x outside function is: $x</p>";
?>

نکته :شما می توانید متغیرهای محلی Local Variables با نام های یکسان در توابع مختلف داشته باشید. زیرا یک متغیر محلی یا Local فقط درون تابع خود شناسایی شده و قابل استفاده است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *