# زبان های اسکریپتی > PHP > تاپیک های آموزشی و دنباله دار >  متغیر ها در php

## samenta.samenta

*متغیرها در PHP*

متغیرها بهترین ظرفهای حافظه برای نگهداری و استفاده از اطلاعات و داده ها در زبان برنامه نویسی php هستند

در اینجا به تعدادی از مهمترین نکته ها در مورد متغیرهای php میپردازیم : 

متغیرهای php همیشه با $ فراخوانی ، تعریف و استفاده میشوندمقدار یک متغیر آخرین مقداری هست که به آن انتساب میدهیمعمل انتساب یک مقدار به یک متغیر با علامت = انجام میشود . متغیر در سمت چپ این علامت و مقدار نهایی آن در سمت راست قرار میگیردمتغیرها نیازی به تعریف ندارند و خودکار شناسایی میشوند اما بهتر است ابتدا آنها را تعریف کنیم متغیرهای php ، نوع ذاتی ندارند و هر لحظه که مقداری در آنها ریخته میشود نوع آن نیز تعریف میشود و ممکن است متغیری استفاده ی عدد صحیح داشته باشد و بعدا" استفاده بعنوان یک متغیر از نوع رشته ای داشته باشدمتغیر ها قبل از مصرف باید یک مقدار اولیه داشته باشندphp در تبدیل خودکار نوع متغیر ها هنگام نیاز به آنها دارد مثلا میتوان یک عدد صحیح را بدون تبدیل به رشته مانند یک رشته چاپ کردمتغیرها در php مشابه زبان برنامه نویسی perl میباشد
*انواع متغیرها در php*

متغیرها اصولا" در php هشت نوع میباشد که به شرح زیر میباشند :

*Integers متغیرهایی که عدد صحیح را در خود جای میدهند مانند 4512**Doubles اعداد اعشاری مانند 3.7516**Booleans این متغیرها دو حالت بیشتر ندارد ( درست یا غلط ، صفر یا یک ، true یا false )* *NULL نوع خاصی از متعیرها میباشد که فقط یک مقدار null ( هیچ چیز ) را میپذیرد**Strings یک رشته شامل حرفهای و کلمات مثل " آموزش php با سامنتا "**Arrays شامل آرایه ها ( متغیرهایی که با نام خاص مشخص میشوند )**Objects اشیایی برای کلاس های از پیش تعریف شده در php که شامل انواع متغیرها و توابع میباشد**Resources متغیرهایی برای نگهداری منابع برای ارتباط با بیرون از php ( مانند اتصال پایگاه داده )*
پنج نوع اول از نوع متغیرهای ساده هستند و دوتای بعدی ( array , objects ) متغیرهای ترکیبی هستند که میتوانند انواع متغیرها را با انواع مقادیر نگهداری کنند در حالی که پنج متغیر اول این کار را نمیتوانند انجام دهند.
ما در اینجا به توضیح متغیرهای ساده میپردازیم و متغیرهای ترکیبی را در درس های بعدی مفصلا توضیح خواهیم داد
*اعداد صحیح در php ( Integers )*

تمامی اعداد صحیح میتواند در این متغیر قرار بگیرد توجه کنید که متغیرهای اعشاری در این نوع متغیر قرار  نمیگیرند . 
کلیه اعداد صحیح مثبت و منفی و همچنین عدد صفر میتواند در این نوع متغیرها جای بگیرد مانند 1395 یا -1395
نمونه ی استفاده از این نوع متغیرها را در زیر مشاهده میکنید : 
$int_var = 12345;
$another_int = -12345 + 12345; 
*اعداد اعشاری در  php ( Doubles)*

این نوع متغیرها اعداد اعشاری مشابه 2.54686 یا 49.1 را بصورت پیش فرض در خود جای میدهد 
در هنگام چاپ شدن این نوع متغیرها در php ، اعداد گرد میشود و نزدیکترین اعشار نشان داده میشود 
مثال زیر دقت کنید : 
<?php
   $many = 2.2888800;
   $many_2 = 2.2111200;
   $few = $many + $many_2;
   
   print("$many + $many_2 = $few 
");
?>خروجی : 
2.28888 + 2.21112 = 4.5*متغیرهای بولین در php یا Boolean*

این متغیرها تنها دو حالت صحیح و غلط را میپذیرد بطوری که برای بدست آوردن درستی یا غلطی کاربرد دارد
در php متغیرهای بولین دو مقدار را بصورت پیش فرض میپذیرد : TRUE یا FALSE 
اگر متغیر را داخل if قرار دهید میتوانید صحت و یا نادرستی آنرا بررسی کنید 
کد زیر نگاهی بیاندازید : 
if (TRUE)
   print("This will always print
");

else
   print("This will never print
"); 
دیگر حالت های متغیر بولین 
اگر مقدار صحیح درون آن ریخته شود زمانی که مقدار عدد یک باشد در حکم درستی و زمانی که صفر باشد در حکم نادرستی است 
اگر مقدار رشته ای درون آن ریخته شود زمانی متغیر مقدار نادرست را میپذیرد که رشته تهی باشه یا فقط عدد 0 در غیر این صورت متغیر دارای مقدار صحیح است 
زمانی که مقدار این متغیر NULL باشد همیشه نادرست را برمیگرداند
نکته : اعداد اعشاری را هرگز درون یک متغیر از نوع بولین نریزید
ادامه دارد ....
در وب سایت سامنتا

----------


## mortazakasiri

من مقدار بازگشتی یک تابع را درون متغیر ریختم ولی تابع درون متغیر کار میکند باتوجه به این که درون متغیر است چطوری؟؟؟ :ناراحت:  من فقط می خواهم مقدار بازگشتی اون تابع را درون متغیر بریزد نمی خواهم تابع اجرا شود؟؟؟؟ اگر باید از return استفاده کنم نحوه استفاده از اونو لطفا بگید اما اگر نه چکار کنم

----------


## samenta.samenta

> من مقدار بازگشتی یک تابع را درون متغیر ریختم ولی تابع درون متغیر کار میکند باتوجه به این که درون متغیر است چطوری؟؟؟ من فقط می خواهم مقدار بازگشتی اون تابع را درون متغیر بریزد نمی خواهم تابع اجرا شود؟؟؟؟ اگر باید از return استفاده کنم نحوه استفاده از اونو لطفا بگید اما اگر نه چکار کنم


منظورتان را متوجه نشدم . اگر شما نیازی ندارید که مقداری بازگشته داده شود یا به اصطلاح نیازی به return ندارید . کافیست مقدار بازگشتی تابع را void در نظر بگیرید . اگر نیاز دارید مقدار بازگشتی داخل یک متغیر ریخته شود دیگر باید از تابع بازگشتی صرف نظر کنید و مقدار بازگشتی را خالی قرار دهید و مقداری که قصد دارید را درون متغیر خود بریزید . باز هم اگر به شکل کامل تر توضیح بدهید در خدمتم

----------

