آموزش PHP

آموزش PHP - انواع متغیر

راه اصلی برای ذخیره اطلاعات در وسط یک برنامه PHP با استفاده از یک متغیر (variable) است. 

در اینجا مهمترین مواردی که باید در مورد متغیرها در PHP بدانید وجود دارد.

  • همه متغیرهای PHP با علامت دلار ($) مشخص می شوند.
  • مقدار یک متغیر جدیدترین مقدار تخصیص یافته آن است. 
  • متغیرها با operator =، متغیر در سمت چپ و عبارت به سمت راست ارزیابی می شوند.
  • متغیرها می توانند، اما لازم نیست، قبل از انتساب اعلام شوند. 
  • متغیرها در PHP نوع درونی ندارند - متغیر از پیش نمی داند که برای ذخیره یک عدد یا یک رشته از کاراکترها استفاده می شود. 
  • متغیرهای از پیش مورد استفاده قرار گرفته دارای مقادیر پیش فرض هستند. 
  • در صورت لزوم PHP به خوبی تبدیل انواع به صورت خودکار را انجام می دهد. 
  • متغیرهای PHP، Perl-like هستند.

 PHP دارای هشت نوع داده است که ما برای ساخت متغیرهایمان از آن ها استفاده می کنیم:

  • Integers (عدد صحیح): اعداد کامل، بدون نقطه اعشار، مانند 4195.
  • Doubles: تعداد اعداد شناور، مانند14159 یا 49.1.
  • Booleans: تنها دو مقدار ممکن است true (درست) یا false (نادرست) باشد.
  • NULL: یک نوع خاص است که فقط یک مقدار دارد: NULL.
  • Strings(رشته ها): توالی کاراکترها هستند، مانند "PHP از عملیات رشته ای پشتیبانی می کند." 
  • Arrays (آرایه ها): مجموعه ای از مقادیر دیگر که نامگذاری و ایندکس شده اند.
  • Objects (اشیاء): نمونه هایی از کلاس های تعریف شده برنامه نویسی هستند که می توانند هر دو نوع دیگر از مقادیر و توابع خاصی را که به کلاس اختصاص داده شده بسته بندی کنند.
  • Resources: متغیرهای خاصی هستند که اشاره به منابع خارجی به PHP دارند (مانند اتصالات پایگاه داده).

پنج نوع اول ساده هستند و دو نوع بعدی (آرایه ها و اشیاء) ترکیبی می باشند، انواع ترکیب می توانند سایر مقادیر دلخواه از نوع دلخواه را بسته بندی کنند، در حالی که انواع ساده نمی توانند.

ما فقط نوع داده ساده را در این فصل توضیح خواهیم داد. آرایه و اشیا به طور جداگانه توضیح داده می شوند. 

Integers

آنها اعداد کامل هستند، بدون نقطه اعشار، مانند 4195 که ساده ترین نوع می باشند. آنها عدد ساده، مثبت و منفی هستند. عدد صحیح را می توان به متغیرها اختصاص داد یا می توان آن را در عبارات استفاده نمود.

$int_var = 12345;
$another_int = -12345 + 12345;

عدد صحیح می تواند در دهدهی (پایه 10)، اکتال (پایه 8) و فرمت هگزادسیمال (پایه 16) باشد. فرمت دهدهی پیش فرض است، اعداد صحیح اکتال با پیشفرض 0 مشخص می شوند و هگزادسیمال دارای مقدار پیش فرض 0x است.

برای اکثر سیستم عامل ها، بزرگترین عدد صحیح (2**31 . 1) (یا 2,147,483,647) و کوچکترین (منفی) عدد صحیح (2**31 . 1) (یا 2,147,483,647) است.

Doubles

آنها مانند 3.14159 یا 49.1 می باشند. به طور پیشفرض، doubles حداقل تعداد اعشاری مورد نیاز را چاپ می کند. به عنوان مثال، کد:

<?php
   $many = 2.2888800;
   $many_2 = 2.2111200;
   $few = $many + $many_2;
   
   print("$many + $many_2 = $few <br>");
?>

این خروجی مرورگر زیر را تولید می کند:

2.28888 + 2.21112 = 4.5

Booleans

آنها فقط دو مقدار true (درست) یا false (نادرست) دارند. PHP برخی از ثابت ها را به خصوص برای استفاده به عنوان booleans فراهم می کند: TRUE و FALSE است که به صورت زیر مورد استفاده قرار می گیرند:

if (TRUE)
   print("This will always print<br>");

else
   print("This will never print<br>");

تفسیر انواع دیگر به عنوان Booleans

در اینجا قوانینی برای تعیین "حقیقت" هر مقدار علاوه بر نوع Boolean وجود دارد:

  • اگر مقدار یک عدد باشد، اگر دقیقا برابر با صفر باشد false و در غیر این صورت درست باشد، true است.
  • اگر مقدار رشته باشد، اگر رشته خالی (دارای صفر است) یا "0" باشد false و در غیر این صورت true است. 
  • مقادیر نوع NULL همیشه false هستند. 
  • اگر مقدار آرایه باشد، اگر حاوی مقادیر دیگری نباشد، false و در غیر این صورت true است. برای یک شی، حاوی بودن مقدار به معنای داشتن یک عضو متغیر است که یک مقدار داده شده می باشد. 
  • منابع معتبر true هستند (هرچند برخی از توابع که منابع را هنگامی که موفق می شوند، FALSE را باز می گردانند).
  • double را به عنوان Booleans استفاده نکنید.

هر یک از متغیرهای زیر دارای مقدار حقیقی هستند که در نام آن درج شده است و در زمینه Boolean استفاده می شوند.

$true_num = 3 + 0.14159;
$true_str = "Tried and true"
$true_array[49] = "An array element";
$false_array = array();
$false_null = NULL;
$false_num = 999 - 999;
$false_str = "";

NULL

NULL یک نوع خاص است که فقط یک مقدار دارد: NULL. برای دادن یک متغیر به مقدار NULL، به سادگی آن را مانند زیر قرار دهید:

$my_var = NULL;

ثابت NULL با قرارداد بزرگ شده است، اما در واقع به حروف کوچک و بزرگ حساس است، باید آن را به شکل زیر تایپ کنید:

$my_var = null;

متغیری که با NULL اختصاص داده شده دارای خاصیت های زیر است:

  • محتوای Boolean را به FALSE ارزیابی می کند. 
  • هنگامی که با تابع ()IsSet آزمایش شود، FALSE را بر می گرداند.

Strings

آنها توالی کاراکترها هستند، مانند "PHP از عملیات رشته ای پشتیبانی می کند". در زیر نمونه های معتبر از رشته ارائه شده است:

$string_1 = "This is a string in double quotes";
$string_2 = 'This is a somewhat longer, singly quoted string';
$string_39 = "This string has thirty-nine characters";
$string_0 = ""; // a string with zero characters

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

<?php
   $variable = "name";
   $literally = 'My $variable will not print!';
   
   print($literally);
   print "<br>";
   
   $literally = "My $variable will print!";
   print($literally);
?>

این نتیجه زیر را تولید می کند:

My $variable will not print!
My name will print

محدودیت هایی در طول رشته وجود ندارد، در محدوده حافظه موجود، باید بتوانید رشته های طولانی خود را به طور صحیح وارد کنید.

رشته هایی که با نقل قول دوگانه (به عنوان "این") تعریف می شوند، در دو روش زیر توسط PHP پیش پردازش می شوند:

  • توالی های کاراکترهای خاصی که با بک اسلش () شروع می شوند با کاراکترهای ویژه جایگزین می گردند.
  • نام متغیر (با $ شروع می شود) با نمایش رشته ای از مقدارهای آن جایگزین می گردد.

جایگزینی escape-sequence:

  • n با کاراکترخط جدید جایگزین می شود
  • r با کاراکتر بارگذاری جایگزین شده است
  • t با کاراکتر تب تغییر می کند
  • $ با علامت دلار خود جایگزین می شود ($)
  • " با یک نقل قول دوگانه جایگزین شده است (")
  • با یک بکسلر () جایگزین می شود 

Here Document

می توانید چندین خط را به یک متغیر رشته ای با استفاده از Here Document اختصاص دهید:

<?php
   $channel =<<<_XML_
   
   <channel>
      <title>What's For Dinner</title>
      <link>http://menu.example.com/ </link>
      <description>Choose what to eat tonight.</description>
   </channel>
   _XML_;
   
   echo <<<END
   This uses the "here document" syntax to output multiple lines with variable 
   interpolation. Note that the here document terminator must appear on a line with 
   just a semicolon. no extra whitespace!
   

   END;
   
   print $channel;
?>

نتیجه زیر را تولید می کند:

This uses the "here document" syntax to output
multiple lines with variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!

<channel>
<title>What's For Dinner<title>
<link>http://menu.example.com/<link>
<description>Choose what to eat tonight.</description>

محدوده متغیر

محدوده را می توان به عنوان محدوده در دسترس بودن یک متغیر به برنامه ای که در آن اعلام شده است تعریف نمود. متغیرهای PHP  می توانند یکی از چهار نوع محدوده  زیر را داشته باشند. 

  • متغیرهای محلی
  • پارامترهای عملکرد
  • متغیرهای جهانی
  • متغیرهای استاتیک

نامگذاری متغیر

قوانین نامگذاری متغیر به شرح زیر است:

  • نام متغیر باید با یک حرف یا حرف دارای خط مشخص شود.
  • نام متغیر می تواند شامل اعداد، حروف، حروف دارای خط باشد، اما نمی توانید از حروف مانند +، -،٪، (،)، & و غیره استفاده کنید.

هیچ محدودیتی برای متغیرها وجود ندارد.

در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش PHP

Learn PHP

سرفصل ها

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

کلیک کنید و سوالات خود را از ما بپرسید
لطفا فرم سوال را پر کنید

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

لطفا چند لحظه منتظر بمانید ...