پرش به محتوا

پی‌اچ‌پی/متغیرها

ویکی‎کتاب، کتابخانهٔ آزاد
‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎
‎‏مقدمه‏‎‎‏نحوه توسعه پی‌اچ‌پی‏‎‎‏ساختار اولیه‏‎‎‏انواع داده‏‎‎‏متغیرها‏‎‎‏ثابت‌ها‏‎
‎‏بانک اطلاعاتی‏‎‎‏کار با پایگاه داده‏‎‎‏جلسه‌ها‏‎‎‏کار با فرم‌ها‏‎‎‏توابع‏‎‎‏کار با تاریخ و زمان‏‎

همانند سایر زبان ها پی‌اچ‌پی نیز دارای متغییرهایی است که می‌توان در آنها مقادیر مختلف از جمله: مقادیر عددی، بولی، اعشاری، رشته ها، اشیا و ... را نگه‌داری کنید. نکته اینجاست که هر متغیر در پی‌اچ‌پی با علامت دلار ($) شروع می‌شود.

<?php
$number=3;

$str="Hello there";

$temp=true;

$nothing=NULL;
?>


نحوه تعریف و استفاده از متغیرها در PHP

[ویرایش]

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

برای تعریف یک متغیر در PHP، ابتدا علامت $ را قرار داده و سپس نام آن را تعیین می کنید. همچنین می توانید در هنگام تعریف آن را مقدار دهی کرده و یا اینکه بعدا در جای دیگر مقداری را به آن نسبت دهید. انتخاب با شماست.

قوانین نام گذاری متغیرها در PHP

[ویرایش]

در نامگذاری متغیرها در PHP باید به قوانین زیر توجه نمایید. در غیر اینصورت متغیر شما تعریف نشده و برنامه با مشکل روبرو خواهد شد.

  • نام یک متغیر حتما بایستی با یک حرف یا علامت _ شروع شود. برای مثال نام های Num یا IntNumber_ صحیح و نام 1int غلط می باشد.
  • نام متغیرها فقط می تواند شامل حروف ، اعداد و یا علامت _ باشد. برای مثال نام Int_Num صحیح و نامی مثل Int%Num غلط است.
  • نام یک متغیر نمی تواند شامل فاصله باشد. اگر نام متغیر بیش از یک کلمه است، باید با علامت _ آن را از هم جدا کرده و یا با بزرگ و کوچک نوشتن حروف، کلمات را از هم تمایز دهید. برای مثال Int_Num یا IntNum. توجه داشته باشید مثلا نام Int Num غلط است.

نکات مربوط به متغییرها

[ویرایش]
  • متغییرها با علامت «$» شروع می‌شوند
  • متغییرها می‌توانند شامل عدد باشند اما نمی‌توانند با عدد شروع شوند
  • متغییر می‌تواند با علامت «_» آغاز شود
  • نویسه‌های مجاز برای یک متغییر شامل اعداد «0-9» حروف«A-Z» و علامت«_» هستند
  • پی‌اچ‌پی به بزرگ و کوچک بودن حروف حساس است

انواع متغیرها در PHP:

[ویرایش]

برخلاف زبان های برنامه نویسی مثل VB یا ASP.Net در PHP لازم نیست، نوع داده متغیر تعریف شود. هنگامی که متغیر را تعریف می کنید، در زمان مقدار دهی، PHP به طور اتوماتیک نوع داده ای را تبدیل کرده و در متغیر ذخیره می کند. برای مثال اگر یک متغیر را تعریف کرده و سپس مقدار یک عدد را به آن نسبت دهید، PHP به طور اتومانیک نوع آن متغیر را عددی تعیین می کند. برای مواردی مثل متن و یا boolen نیز وضع به همین ترتیب است.

در متغیر های تعریف شده در مثال جدول synatx در بالای صفحه، متغیر متغیر My_Name از نوع متن ( String ) و متغیر Int_Num از نوع عددی ( Integer ) خواهند بود. دقت کنید که مقدار های متنی باید در بین دو علامت " " تعریف شوند. ولی برای عدد اینگونه نیست.

شکل کلی تعریف و مقدار متغیرها در PHP به صورت زیر است

[ویرایش]
<?php
$var_name = value ;
?>
مثال : $My_Name = " SHAHRAM " ;
          $Int_Num = 12 ;

نکته ۱: توجه کنید که اگر علامت $ را فراموش کنید ، متغیر تعریف نخواهد شد .

نکته ۲: زبان PHP در تعریف متغیرها به کوچک و بزرگ بودن حروف حساس است. بنابراین برای مثال متغیر Num با num متفاوت خواهد بود.

نکته ۳: در php نوع کاراکتر نداریم! اگه یه متغیر ایجاد کنی که یه دونه کاراکتر داشته باشه این میشه یه string با طول یک!

نکته ۴: تو php اگه بخوایم نوع یه متغیر رو عوض کنیم میتونیم بهش یه مقدار اولیه جدید بدیم! مثلا بخوای وسطای برنامه متغیرت از integer به string تغییر بدی فقط کافیه اون متغیر رو با یه مقدار اولیه از نوع string بنویسی! به همین راحتی!

نکته ۵: در هر زبان برنامه نویسی اگه ما نام یه متغیر رو بین دابل کوت("") قرار می دادیم کامپایلر و یا مفسر اون زبان سعی می کرد که عبارت بین دابل کوتیشن رو بدون تغییر نمایش بده!! ولی تو php اگه نام یه متغیر رو در بین دابل کوتیشن قرار بدی php سعی میکنه اونو تفسیر کنه و مقدارش رو برات برگردونه! در مقابل اگه این نام رو بین تک کوتیشن () قرار بدی اونوقت دیگه فقط چیزی که بین تک کوتیشن هست رو نمایش میده!

چند نمونه مجاز

[ویرایش]

$a

$_temp

$_a

$_a1

نمونه غیر مجاز

[ویرایش]

$1_temp

سایر

[ویرایش]

در پی‌اچ‌پی مشخص کردن نوع متغیرها ضروری نیست به مثال توجه کنید

<؟php<br />

$me="Tom;<br />
echo "My name is $me";<br />
$me=22;<br />
echo "My age is $me"<br />
?>