متغیرها در php
همانگونه که می دانیم، برای فراگیری اینکه چگونه سایت بسازیم باید با پی اچ پی آشنا شویم. متغیرها برای ذخیره ی اطلاعات و سپس استفاده از آنها به کار می روند. بر خلاف سایر زبان ها که ابتدا باید نوع متغیر را تعیین نماییم (string, integer, float, …) در زبان php می توان به طور مستقیم متغیر را مقداردهی نمود و خودِ php نوع متغیر را تشخیص خواهد داد.
ایجاد (اعلان) متغیرهای پی اچ پی
در PHP، یک متغیر با علامت $ شروع می شود و به دنبال آن نام متغیر می آید.
مثال:
<?php
$txt = "Hello PHP!";
$a = 2;
$b = 5.5;
?>
بعد از اجرای دستورات بالا متغیر $txt مقدار Hello PHP را نگه می دارد! متغیر $a مقدار 2 را نگه می دارد، و متغیر $b ارزش 5.5 را نگه می دارد.
نکته: هنگامی که یک مقدار متن را به یک متغیر اختصاص می دهیم، باید علامت نقل قول ها(quotes)(“) را در اطراف مقدار بگذاریم.
متغیرهای PHP
یک متغیر می تواند یک نام کوتاه (مانند a و b) یا یک نام توصیفی (سن یا age، درآمد یا income، نام خانوادگی یا petname) داشته باشد.
قوانین برای متغیرهای PHP
- یک متغیر با علامت $ (dollar) شروع می شود و به دنبال آن نام متغیر می آید.
- نام متغیر می تواند با یک حرف یا کاراکتر زیرخط (underscore) شروع شود.
- متغیرهای PHP شبیه متغیرهای Perl هستند.
- یک نام متغیر می تواند شامل کاراکترهای عددی، حروف الفبا و علامت _ یا underscores می باشد.
- متغیرهایی که تعریف می شوند، دارای مقادیر پیش فرض هستند.
- یک نام متغیر نمی تواند با یک عدد شروع شود.
- نام متغیرها به حروف کوچک و بزرگ حساس هستند ($petname و $PETNAME دو متغیر متفاوت هستند)
متغیرهای خروجی
دستور پی اچ پی echo اغلب برای مشاهده ی خروجی داده ها، روی صفحه نمایش استفاده می شود.
مثال زیر، نحوه خروجی متن و یک متغیر را نشان می دهد:
مثال :
<?php
$txt = "welookups.com";
echo "I like $txt!";
?>
مثال زیر خروجی ای همانند مثال بالا را تولید می کند:
مثال :
<?php
$txt = "welookups.com";
echo "I like " . $txt . "!";
?>
مثال زیر جمع دو متغیر را نشان می دهد.
<?php
$a = 2;
$b = 3;
echo $a + $b;
?>
دامنه متغیرها در php
در PHP، متغیرها را می توان در هر کجا از کدِ اسکریپت تعریف نمود. به بخشی از اسکریپت که می توان از یک متغیر استفاده نمود، محدوده ی دسترسیِ یک متغیر، می گویند.
PHP دارای سه محدوده ی متفاوت برای متغیرها است:
- محلی یا local
- جهانی یا global
- استاتیک یا static
متغیرهای جهانی (global)
یک متغیر که در خارج از یک تابع تعریف شده است، دارای یک SCOPE GLOBAL است و می تواند در هر قسمت از برنامه قابل دسترسی باشد:
<?php
$x = 12; // global scope
function myTest() {
// using x inside this function will generate an error
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
echo "<p>Variable x outside function is: $x</p>";
?>
خروجی :
خطا : متغیر x پیدا نشد
Variable x outside function is: 12
در این مثال، به این دلیل که متغیر $x را خارج از تابع myTest تعریف نمودیم، بنابراین در داخل تابع نمی توانیم از آن استفاده کنیم. در صورت استفاده از آن در داخل تابع، خطا دریافت خواهیم کرد، ولی خارج از تابع می توانیم از آنها استفاده نماییم. البته راهی برای استفاده از متغیرهای global داخل توابع هست که در ادامه بیان می کنیم.
چگونه از متغیرهای سراسری یا global داخل توابع استفاده کنیم؟
در مثال قبل مشاهده نمودیم که نتوانستیم، در حالت عادی از متغیرهای سراسری یا global، در داخل تابع استفاده کنیم، برای استفاده از متغیرهای سراسری در داخل تابع، باید از کلمه ی global قبل از نام متغیرها، استفاده نماییم.
<?php
$x = 6;
$y = 2;
function myTest() {
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 8
?>
خروجی :
8
php همچنین تمام متغیرهای Global را در آرایه ای به نام [Globals[$index$ ذخیره می کند. شاخص index$ نام متغیر را نگه می دارد. مثال فوق را می توان به صورت زیر بازنویسی کرد:
<?php
$x = 2;
$y = 3;
function myTest() {
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y; // outputs 5
?>
خروجی :
5
متغیرهای محلی (local)
متغیری که در داخل یک تابع تعریف شده است، دارای یک SCOPE محلی (LOCAL SCOPE) می باشد و تنها می تواند در داخل آن تابع قابل دسترسی باشد:
مثال :
<?php
function myTest() {
$x = 5; // local scope
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>
خروجی :
Variable x inside function is: 5
خطا : متغیر x پیدا نشد
متغیرهای استاتیک (static)
این نوع متغیرها، در داخل توابع تعریف می شوند و با هر بار فراخوانی تابع مقدارشان ریست نمی شود و همچنان همان مقدار قبلی را دارند.
<?php
function myTest() {
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
خروجی :
0
0
0
شما می توانید برای دانلود آموزش php از صفر تا صد به کلیک سایت مراجعه نمایید.
#توجه: این مطلب یک رپرتاژ تبلیغاتی بوده و محتوای آن توسط تبلیغ دهنده تهیه و نگارش شده است.
دیجیرو مسئولیتی در قبال محتوای تبلیغاتی ندارد.