آموزش تعریف و استفاده از متغیرها در PHP
آموزش تعریف و استفاده از متغیرها در زبان PHP
همانطور که می دانید، متغیرها، فضاهایی در حافظه برای نگهداری اطلاعات هستند.
در زبان PHP، یک متغیر با کاراکتر $ شروع شده و پس از آن بایستی نام متغیر را تعیین کرد. مثال های عملی زیر، نحوه انجام کار را نشان می دهند.
<?php $txt = "Hello world!"; $x = 5; $y = 10.5; ?>
پس از اجرا شدن قطعه کد مثال فوق، متغیر $txt مقدار متنی یا Hello world! را خواهد داشت، متغیر $x مقدار ۵ و متغیر $y نیز شامل مقدار ۱۰٫۵ می شود.
در هنگام تعریف متغیرهای متنی در زبان PHP، بایستی مقدار آن ها را بین دو ” ” قرار دهید.
بر خلاف سایر زبان های برنامه نویسی رایج، زبان PHP دستور خاصی برای تعریف متغیرها ندارد. هر متغیر، به محض مقداردهی شدن، ایجاد شده و قابل استفاده خواهد بود.
قوانین نام گذاری متغیرها در PHP
یک متغیر در PHP، می تواند یکم نام بسیار کوتاه مثل x یا y و یا یک نام بلند و بامفهوم مثل age، username و … داشته باشد. در نام گذاری متغیرهای PHP، بایستی نکات زیر را رعایت نمایید :
- نام یک متغیر همواره با علامت $ شروع شده و پس از آن نام متنی تعیین می شود مثل $age.
- نام یک متغیر بایستی با یک حرف یا علامت ( _ ) شروع شود.
- نام یک متغیر نمی تواند با عدد شروع شود.
- نام متغیرها در زبان PHP، فقط می تواند شامل حروف انگلیسی، اعداد و (_) باشد و استفاده از سایر کاراکترها، غیر مجاز است.
- نام متغیر در زبان PHP به حروف بزرگ و کوچک حساس بوده و یا Case Sensetive هستند. بنابراین متغیرهای $age و $Age یا $AGE با هم متفاوت خواهند بود.
نمایش مقدار متغیرها در خروجی PHP
در زبان PHP، معمولا می توان با استفاده از دستور echo، مقدار یک متغیر را بر روی خروجی نمایش داد. کد مثال عملی زیر، نحوه نمایش مقدار یک متغیر متنی را نشان می دهد :
<?php $txt = "W3Schools.com"; echo "I love $txt!"; ?>
همچنین، کد مثال زیر نیز، خروجی همانند مثال قبل تولید می کند :
<?php $txt = "W3Schools.com"; echo "I love " . $txt . "!"; ?>
در درس بعدی، به آموزش کامل دستور echo در PHP و چاپ اطلاعات در خروجی خواهیم پرداخت.
PHP یک زبان برنامه نویسی بدون نیاز به تعریف نوع داده ای است
اگر به کد مثال فوق دقت نمایید، متوجه می شوید که در هنگام تعریف یک متغیر PHP، مجبور نیستیم نوع داده ای آن را به برنامه اعلام کنیم.
خود زبان PHP، به صورت اتوماتیک، متغیر مورد نظر را به نوع داده ای متناسب با مقدار داده شده، تبدیل کرده و ذخیره می کند. اگر مقدار متنی برای یک متغیر تعیین کرده باشید، PHP آن را از نوع متنی و در صورت تعیین عدد، متغیر را از نوع عددی مشخص می کند.
اما در سایر زبان های برنامه نویسی مثل C، C++ یا جاوا، برنامه نویس بایستی قبل از مقداردهی و استفاده از یک متغیر، حتما نوع داده ای آن را برای کامپایلر مشخص کند.
میدان دید (Scope) در متغیرهای PHP
در زبان PHP، یک متغیر را می توانید در هر بخشی از اسکریپت که بخواهید، تعریف کنید. میدان دید یا Scope یک متغیر، محدوده ای را مشخص می کند که در آن می توانید به متغیر مورد نظر دسترسی داشته و آن را تغییر داده یا استفاده نمود.
در زبان PHP، سه نوع میدان دید یا Scope برای متغیرها به شرح زیر وجود دارد :
- local یا محلی
- global یا سراسری
- Static یا ثابت
در ادامه به تشریح هر یک از ۳ حالت میدان دید متغیرها در PHP خواهیم پرداخت.
متغیرهای محلی Local و عمومی Global
اگر یک متغیر، خارج از محدوده یک function تعریف شود، همانند متغیر x در کد مثال زیر، دارای میدان دید عمومی یا GLOBAL SCOPE بوده و فقط در خارج آن تابع قابل استفاده است.
در کد مثال زیر، به دلیل تعریف متغیر X درخارج از تابع myTest، به کار بردن آن در داخل تابع باعث بروز خطا می شود :
<?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 فقط درون تابع خود شناسایی شده و قابل استفاده است.
آموزش کاربرد واژه کلیدی Global در PHP
از واژه کلیدی global در PHP، برای فراهم نمودن امکان دسترسی به یک متغیر global یا سراسری، درون یک تابع استفاده می شود. کد مثال زیر، نحوه استفاده از واژه کلیدی global را به صورت عملی نشان داده است :
<?php $x = 5; $y = 10; function myTest() { global $x, $y; $y = $x + $y; } myTest(); echo $y; // outputs 15 ?>
از طرف دیگر، PHP تمای متغیرهای سراسری یا global برنامه را در یک آرایه به نام $GLOBALS[index] نگهداری می کند. در این آرایه index در واقع نام متغیرها می باشد. از این آرایه می توان برای دسترسی به متغیرهای سراسری برنامه، خواندن و یا تغییر مقدار آن ها درون توابع استفاده کرد. مثال زیر نحوه استفاده از این آرایه را در عمل نشان می دهد :
<?php $x = 5; $y = 10; function myTest() { $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y']; } myTest(); echo $y; // outputs 15 ?>
آموزش استفاده از واژه کلیدی static در PHP
به طور معمول، پس از این که یک تابع به طور کامل اجرا شده و عملیات آن پایان یابد، کلیه متغیرهای درون تابع حذف می شوند. اما گاهی اوقات ممکن است بخواهیم یک متغیر محلی local پس از اتمام تابع آن، پاک نشود. برای این منظور بایستی از واژه کلیدی static استفاده نمود. به این صورت که در هنگام تعریف متغیر مورد نظر، کلمه static را همانند کد مثال زیر، قبل از نام متغیر قرار می دهیم :
<?php function myTest() { static $x = 0; echo $x; $x++; } myTest(); myTest(); myTest(); ?>
در کد مثال فوق، هر بار که تابع myTest() فراخوانی شود، متغیر x دارای مقداری است که در آخرین بار اجرای تابع آن، به متغیر نسبت داده شده است.
متغیر x در کد مثال فوق، همچنان یک متغیر محلی یا local برای تابع فوق محسوب شده و در سایر تابع ها قابل استفاده نیست.
درباره Mostafa Shoa
مدیر تیم پارس نویس، کارشناس مهندسی نرم افزار، مدرس دوره های برنامه نویسی و طراحی سایت در مدارس تیزهوشان، مشاور تبلیغات و بازاریابی استارتاپ ها و کسب و کارهای اینترنتی
نوشته های بیشتر از Mostafa Shoa
دیدگاهتان را بنویسید