آموزش متغیرها Variables در Php

بازدید: 482 بازدید
متفیرها در php

متغیر Variable ظرفی برای نگهداری اطلاعات است.

شاید این جمله خیلی گُنگ و کلی به نظر برسد. اما باید گفت این بهترین و کوتاهترین تعریفی است که می توان برای معرفی یک متغیر به کار برد!

متغیرها، خانه هایی از حافظه هستند که اطلاعات مورد نیاز یک برنامه را در خود ذخیره می کنند. اما هیچکس دقیقا نمی داند این خانه، کدام خانه از خانه های حافظه است.

در آموزش امروز درباره متغیرها ، انواع آنها و نحوه کدنویسی برای تعیین و کار با آنها در Php صحبت خواهیم کرد.

همراه ما باشید.

با عرض سلام خدمت شما همراهان همیشگی سایت پرنیان طرح

متغیر Variable ظرفی برای نگهداری اطلاعات است.

شاید این جمله خیلی گُنگ و کلی به نظر برسد. اما باید گفت این بهترین و کوتاهترین تعریفی است که می توان برای معرفی یک متغیر به کار برد!

متغیرها، خانه هایی از حافظه هستند که اطلاعات مورد نیاز یک برنامه را در خود ذخیره می کنند. اما هیچکس دقیقا نمی داند این خانه، کدام خانه از خانه های حافظه است.

 

تعریف (ایجاد) یک متغیر در Php

در کدنویسی Php ، برای تعریف یک متغیر باید در ابتدای خط اعلان ، علامت $ را قرار دهیم.

در مثال زیر، متغیرهای زیر را تعریف کرده ایم:

یک متغیر از نوع متن(txt) که مقدار hello world را در خود دارد و دارای نام txt$ است.

یک متغیر بدون تعیین نوع آن با نام  x$ که مقدار 5 دارد.

یک متغیر بدون تعیین نوع آن با نام  x$ که مقدار 10.5 دارد.

نکات مهم!

1- زمانی که یک متغیر رشته ای تعریف می کنید، در اول و آخر متن خود علامت ” قرا دهید. مثال : “hello world”

2- برخلاف سایر زبان های برنامه نویسی، Php هیچ دستوری برای تعریف متغیر ندارد. نوع متغیر، درست در همان لحظه ای که آن را ایجاد و مقداردهی می کنید، تعیین خواهد شد.

مثال:

[php]

<?php
$txt = “Hello world!”;
$x = 5;
$y = 10.5;

?>

[/php]

نتیجه را مشاهده کنید.

متغیرهای Php

متغیر میتواند یک اسم کوتاه مانند x یا y داشته باشد.

و یا یک نام که بیشتر بتواند مقدار موجود در متغیر را تعریف کند. ( age, total_volume, ,…)

برای تعریف و ایجاد متغیر در php قوانینی وجود دارد. در ادامه این قوانین را با هم مرور میکنیم.

1- برای تعریف متغیر ابتدا یک علامت $و بلافاصله به دنیال آن نام متغیر را می نویسیم. مثال age%

2- نام متغیر باید با حرف یا علامت _ شروع شود. مانند :age$ یا age_$

3- نام متغیر نمی تواند با عدد شروع شود. مثال : 1age$ غلط است.

4- نام متغیر تنها می تواند شامل نویسه (کارکترهای) حروف بزرگ و کوچک ، اعداد و علامت _ باشد.(A-z, 0-9, و _)

5- نام متغیر در php به بزرگی و کوچکی حروف، حساس است. مثال : age$ با Age$ متفاوت است.

متغیرهای خروجی

عبارت (دستور) php echo معمولا برای نمایش داده خروجی در صفحه نمایش به کار می رود.

در مثال زیر خواهید دید که چگونه یک متن را به مراه یک متغیر در خروجی نمایش دهید:

[php]

<?php
$txt = “W3Schools.com”;
echo “I love $txt!”;
?>

[/php]

توضیحات!

در مثال بالا، یک متغیر به نام txt$ داریم که مقدار w3schools را در خود نگه داشته است.

در خط بعدی ، متغیر txt$ را، به نوشته های i love الصاق کرده و در خروجی نمایش می دهیم(چاپ میکنیم.)

نتیجه را مشاهده کنید.

 

کد زیر نیز ، با وجود تفاوت بسیار کوچکی که با کد بالا دارد، همان نتیجه  بالا را تولید خواهد کرد.

[php]

<?php
$txt = “W3Schools.com”;
echo “I love ” . $txt . “!”;
?>

[/php]

در مثال بعدی، دو متغیر تعرف می کنیم. و در هنگا چاپ خروجی، این دو متغیر را با یکدیگر جمع کرده و حاصل جمع این دو متغیر را در خروجی نمایش خواهیم داد.

[php]

<?php
$x = 5;
$y = 4;
echo $x + $y;
?>

[/php]

در فایل خروجی این ، تنها حاصل جمع مقادیر وارد شده برای متغیرهای x$ و y$ ، که 9 می باشد نمایش داده خواهد شد.

نتیجه را ببینید.

Php یک زبان نوشتاری ساده است.

همانطور که در مثال های بالا، مشاهده کردید، در php نیازی به تعیین  وتعریف نوع داده ، نیست.

php ، با توجه به مقدار وارد شده توسط کاربر، نوع داده ای که قرار است در متغیر ذخیره شود را تشخیص می دهد.

این مسئله باعث راحت تر شدن کار برنامه نویس می شود. زیرا از آنجا که نوع داده ، به طور دقیق و مشخص تعریف نشده است، شما می توانید عملیاتی مانند الصاق یک متن به اعداد ( و یا هر ترکیبی بین انواع داده های متفاوت) را بدون بروز خطا یا مشکل انجام دهید.

تعریف نوع داده در php7 به این زبان اضافه شد. این تعریف باعث می شود،گزینه ای برای مشخص کردن نوع داده مورد انتظار هنگام فراخوانی یک تابع در اختیار داشته باشیم. همچنین با فعال کردن گزینه strict requirement ، اگر ناهماهنگیی بین نوع داده های تعریف شده در برنامه و داده های تعریف شده و مورد استفاده در تابع وجود داشته باشد، توسط ارور “Fatal Error” شما متوجه بروز خطای ناهماهنگی خواهید شد.

دامنه متغیرها در Php

متغیرها در Php، می توانند در هر بخشی(خطی) از سند( متن) که نیاز است، تعریف شوند.

دامنه متغیر، بخشی از سند است که متغیر را می توان در آن تعریف کرد یا به کار برد. یعنی هر صفحه ای از صفحات سایت ، که این متغیر فراخوانی می شود، دامنه متغیر نامیده می شود.

Php سه نوع دامنه برای متغیر دارد:

  • محلی        Local
  • سراسری   Global
  • ایستا         Static

دامنه محلی و سراسری

Global and Local Scope

متغیری که خارج از تابع تعریف می شود، دارای یک دامنه سراسری Global Scope است. این نوع متغیر فقط در خارج از تابع قابل دسترسی است.

به مثال زیر دقت کنید:

[php]

<?php
$x = 5; // 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>”;
?>

[/php]

 

نتیجه را مشاهده کنید.

 

متغیری که در داخل یک تابع ، تعریف می شود دامنه محلی Local Scope دارد.

مبحث توابع، در بخش های بعدی به طور کامل توضیح داده خواهد شد.

مثالی برای متغیر محلی که در داخل تابع تعریف شده است:

[php]

<?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>”;
?>

[/php]

نتیجه این کد را از اینجا ببینید.

نکته! می توان در داخل توابع جداگانه، متغیرهای محلی با نام های یکسان تعریف کرد. زیرا متغیرهای محلی، فقط در داخل تابعی که در آن تعریف شده اند، قابل شناسایی و دسترسی هستند.

کلید واژه سراسری Php

از کلمه کلیدی سراسری برای دستیابی به یک متغیر سراسری از داخل یک تابع ، استفاده می شود.

برای اینکار (فراخوانی متغیر سراسری از داخل تابع) ، باید کلمه کلیدی قبل از متغیرها آورده شود.( در داخل تابع)

برای درک بهتر موضوع، به این مثال توجه کنید:

[php]

<?php
$x = 5;
$y = 10;

function myTest() {
global $x, $y;
$y = $x + $y;
}

myTest(); // run function
echo $y; // output the new value for variable $y
?>

[/php]

نتیجه را مشاهده کنید.

Php تمام متغیرهای سراسری را در آرایه ای به نام  [GLOBALS[index$ نگهداری می کند. index ، نام متغیرها را در خود ذخیره می کند.

این آرایه از داخل توابع نیز قابل دسترسی است. و می تواند مستقیما برای به روز رسانی متغیرهای سراسری مورد استفاده قرار بگیرد.

مثال بالا را می توان به صورت زیر نیز تعریف کرد:

[php]

<?php
$x = 5;
$y = 10;

function myTest() {
$GLOBALS[‘y’] = $GLOBALS[‘x’] + $GLOBALS[‘y’];
}

myTest();
echo $y;
?>

[/php]

نتیجه نیز، دقیقا همانند مثال قبل، عدد 15 خواهد بود.

کلید واژه ایستای php

به طور معمول، هنگامی که یک تابع ، به طور کامل انجام می شود (محاسباتش انجام می شود) ، متغیرهای آن به طور کامل پاک می شوند. (یعنی مقادیری که متغیرها گرفته اند، برای انجام محاسبات بعدی پاک می شوند.)

با این حال، گاهی نیاز داریم که متغیر محلی حذف نشود. چون با این متغیر کار داریم.

برای اینکار، زمانی که برا اولین بار متغیر را تعریف میکنید، از کلید واژه ایستا استفاده کنید.

به مثال زیر دقت کنید:

[php]

<?php
function myTest() {
static $x = 0;
echo $x;
$x++;
}

myTest();
echo “<br>”;
myTest();
echo “<br>”;
myTest();
?>

[/php]

 

نتیجه را ببینید.

 

بعد از این کار، با هر بار فراخوانی تابع ، متغیر، اطلاعات قبلی را که در آخرین فراخوانی تابع در خود دارد، حفظ خواهد کرد.

 

نکته!

حتی با این کار، متغیر همچنان ، برای تابع، محلی است.

دسته بندی برنامه نویسی php
اشتراک گذاری
مقالات مرتبط

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

سبد خرید

هیچ محصولی در سبد خرید نیست.