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

داده‌های قابل تعریف در زبان‌های برنامه‌نویسی انواع مختلفی دارند. انواع داده متغیر در PHP به هشت نوع اصلی تقسیم می‌شود. آشنایی با نوع‌های مختلف و نحوه استفاده از آن‌ها باعث سرعت در پیاده‌سازی اسکریپت‌های تحت وب خواهد شد. در این مقاله به تشریح ۸ نوع داده‌ای در PHP پرداخته و مثال‌های کاربردی را مرور می‌کنیم.

متغیر در PHP برای ذخیره‌سازی موقت اطلاعات در حین اجرای برنامه استفاده می‌شود. تعریف متغیر و استفاده از آن بسیار ساده است.

هشت نوع داده‌ای در زبان PHP وجود دارد که می‌توانیم از آن‌ها استفاده کنیم. این ۸ نوع عبارت‌اند از:

  • اعداد صحیح
  • اعداد اعشاری
  • رشته‌های متنی
  • آرایه‌ها
  • اشیاء
  • منابع
  • Booleanها
  • Nullها

تعریف متغیر در PHP

در زبان PHP نیازی به تعریف نوع متغیر نیست. یعنی اگر متغیری به نام var تعریف کرده‌ایم، می‌توانیم درون آن هر چیزی قرار دهیم.

چهار قانون اصلی تعریف متغیر در پی اچ پی عبارت‌اند از:

  • متغیرها با علامت دلار ($) تعریف می‌شوند.
  • متغیرها می‌توانند قبل از مقداردهی تعریف شوند. (پس می‌توانیم متغیرهای بدون مقدار داشته باشیم.)
  • مقداردهی متغیرها با علامت انتساب (=) انجام می‌شود.
  • برای نام‌گذاری متغیرها مجاز به استفاده از حروف انگلیسی، اعداد و علامت زیرخط (_) هستیم.

مقدار ذخیره‌شده در متغیر، آخرین مقدار انتساب داده شده به آن است. بنابراین اگر مقدار یک متغیر را چندین بار تغییر دهیم، آخرین مقداری تغییر داده شده در آن باقی خواهد ماند.

مقداردهی متغیر

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

به مثال زیر توجه کنید. در این مثال ابتدا متغیری به نام $test تعریف کرده و در خط دوم به آن مقدار داده‌ایم.

$test;
$test = "SabzDanesh"

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

$var = 17;
$var = $var * 2;

متغیرها در PHP به همین سادگی هستند. استفاده‌های پیچیده‌تر و جزئی‌تری از متغیرها وجود دارد که در صورت تمایل می‌توانید در مستنداتش درباره‌شان بخوانید.

 

۸ نوع متغیر در PHP

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

1. عدد صحیح در PHP

منظور از اعداد صحیح (Integer) تمام اعداد غیر اعشاری است! همه اعداد مثبت و منفی به عنوان integer در PHP شناخته می‌شوند.

تعریف متغیر از این نوع داده‌ای بسیار ساده است.فقط کافی است مقدار مورد نظر خود را به متغیر انتساب دهیم.

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

$i = 3675;
$j = -21457;
$k = 0;

در این قطعه کد، متغیر i دارای یک عدد مثبت، و متغیر j حاوی عددی منفی است.

این اعداد به طور پیش‌فرض در مبنای 10 تعریف می‌شوند. در PHP می‌توانیم اعداد صحیح را در دو مبنای 8 (یا Octal) و 16 (یا Hexadecimal) نیز داشته باشیم. (برای آشنایی بیشتر با این مبناها به مبناهای متداول مراجعه کنید!)

برای اینکه مشخص کنیم یک عدد در یکی از این دو مبنا تعریف شده است به صورت زیر عمل می‌کنیم:

  • در ابتدای اعداد صحیح در مبنای 8، یک عدد صفر (0) قرار می‌دهیم.
  • در ابتدای اعداد صحیح در مبنای 16، مقدار 0x قرار می‌دهیم.

در قطعه کد زیر، یک مقدار مبنای 8 در متغیر a و یک عدد در مبنای 16 در متغیر b قرار داده‌ایم.

$a = 0354;
$b = 0x2A9;

 

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

 

2. متغیر عدد اعشاری در PHP

تعریف متغیر اعشاری مشابه اعداد صحیح است؛ با این تفاوت که عدد مورد نظر باید حتماً اعشاری باشد.

منظور از عدد اعشاری (Double)، اعدادی هستند که دارای یک نقطه (یا .) در وسط خود هستند. برای مثال، اعداد 3.1415 یا 851.2 اعدادی اعشاری هستند.

$a = 3.1415
$b = 851.2

 

رشته در PHP

متغیر از نوع رشته‌ای در PHP

3. رشته متنی (String)

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

هر کاراکتر فضای یک بایت را اشغال می‌کند. همان‌طور که در آموزش رشته در PHP به آن پرداختیم، هر رشته می‌تواند حداکثر 2 گیگابایت حجم اشغال کند. بنابراین احتمالاً این مقدار هیچ وقت برایمان کم نخواهد بود!

برای تعریف یک رشته، کاراکترها را درون علامت نقل قول انگلیسی (به اصطلاح کوتیشن) قرار می‌دهیم. این علامت می‌تواند به صورت تک کوتیشن (') یا دابل کوتیشن (") باشد.

$message = "Hello World!";
$site = 'SabzDanesh.com';

$s = $message . " from " . $site;

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

آموزش رشته در PHP و توابع کاربردی کار با رشته

آموزش رشته در PHP و توابع کاربردی کار با رشته

 

4. متغیر آرایه‌ای (Array)

آرایه‌ها یکی از پر کاربردترین متغیرهای زبان‌های برنامه‌نویسی، خصوصاً PHP هستند. به کمک آرایه می‌توانیم مجموعه‌ای از متغیرها را درون یک متغیر داشته باشیم.

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

در کد زیر، یک آرایه تعریف کرده و سه مقدار عددی درون آن قرار داده‌ایم.

$arr = array(27, 918, 123);

اعضای یک آرایه می‌توانند از هر کدام از انواع داده‌هایی که در حال معرفی آن‌ها هستیم باشند. از یک عدد صحیح و رشته متنی گرفته یا خودِ آرایه!

اگر اعضای یک آرایه خودشان آرایه باشند، ما با آرایه‌های چند بعدی رو‌به‌رو هستیم.

اگر مایلید با این نوع داده‌ای بیشتر آشنا شده و ترفندهای کاربردی را یاد بگیرید، به آموزش آرایه در PHP مراجعه کنید.

به‌طور خلاصه، دو نوع آرایه داریم.

  • آرایه فهرستی: هر عضو آن با یک عدد به عنوان اندیس (Index) فراخوانی می‌شود. آرایه‌ها در PHP به طور پیش‌فرض از این نوع هستند.
  • آرایه انجمنی: هر عضو آن دارای یک کلید دلخواه است. مثلاً با کلید key به مقدار مرتبط با آن دسترسی خواهیم داشت.

برای تعریف کلید در آرایه های انجمنی از علامت انتساب به صورت => استفاده می‌شود. در کد زیر، یک آرایه برای ذخیره اطلاعات یک فرد تعریف کرده‌ایم.

$person = array( 'name' => 'negar',
                 'age'  => 23,
                 'avg'  => 18.37,
                 'eye'  => 'blue' );

روش دوم و ساده‌تر تعریف متغیر آرایه در PHP

یک روش دیگر برای تعریف آرایه وجود دارد. کافی است به جای نوشتن کلمه کلیدی array() از علامت آکولاد باز و بسته به صورت [] استفاده کنیم.

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

$nums = [254, 66, 156];
$car  = ['model'=>'BMW', 'color'=>'Black'];
آموزش آرایه در PHP و ترفندهای کار با آرایه

آموزش آرایه در PHP و ترفندهای کار با آرایه

 

5. اشياء (Object)

شئ یا آبجکت یک نمونه ایجاد شده از کلاس است. این مفهوم در برنامه نویسی شئ‌گرا استفاده می‌شود. هر آبجکت یا شئ اطلاعاتی را درون خود نگهداری می‌کند. این اطلاعات عبارت‌اند از:

  • خصوصیات یا ویژگی‌های منحصر به فرد خودش
  • متدها و توابعی که می‌تواند اجرا کند.

فرض کنید یک کلاس برای تعریف انسان در برنامه خود داریم. این کلاس بسیار ساده و دارای دو ویژگی و یک متد است.

class person {
    public $name = "Omid";
    public $rank = 399;
    
    function say_hello(){
        return "Hello! My name is " . $this->name;
    }
}

برای ساختن شئ کافی است از کلمه کلیدی new استفاده کنیم. در کد زیر یک نمونه آبجکت از کلاس تعریف شده ساخته و درون متغیر $p می‌ریزیم.

سپس مقدار آن ذخیره شده در متغیر را در خروجی چاپ می‌کنیم.

$p = new person;
var_dump($p);
# Result:
# object(person)#1 (2) { ["name"]=> string(4) "Omid" ["rank"]=> int(399) }

همان‌طور که در خروجی کد می‌بینید، مقدار ذخیره شده در Objectها، ویژگی‌های ذخیره شده در آبجکت است.

 

6. منابع یا Resourceها در PHP

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

همچنین در هنگام ارتباط با پایگاه داده، شئ ارتباط با دیتابیس را نگهداری می‌کنیم تا از طریق آن دستورات خود را اجرا کنیم.

به این گونه متغیرها متغیرهای Resource یا متغیر منبع گفته می‌شود.

در مثال زیر، یک فایل به نام test.txt را باز کرده و اطلاعات آن را می‌خوانیم. متغیر $f از نوع منبع است.

$f = fopen( "test.txt", "r" );
نوشتن فایل در PHP

نوشتن فایل در PHP

 

7. متغیر بولین (Boolean)

بولین به مقادیری گفته می‌شود که از نوع True یا False هستند. متغیرهایی که یکی از این دو نوع را در خود ذخیره کنند، متغیر Boolean نامیده می‌شوند.

در کد زیر، متغیر $is_enabled را برای بررسی فعال بودن یک تنظیمات خاص در نظر گرفته‌ایم.

$is_enabled = true;

با چاپ این متغیر به وسیله تابع var_dump()، متوجه می‌شویم که به آن اصطلاحاً متغیر bool نیز گفته می‌شود.

از این متغیرها معمولاً در شرط‌ها یا مواردی که به صورت بله/خیر (یا 0 و 1) هستند استفاده می‌شود.

 

8. متغیر NULL در PHP

مقدار NULL برای متغیرهایی استفاده می‌شود که هیچ مقداری ندارند! هر زمان که بخواهیم مقدار یک متغیر را غیرتعریف شده بگذاریم، از کلمه کلیدی null استفاده می‌کنیم.

این کلمه حساس به حروف کوچک یا بزرگ نیست و به هر دو صورت NULL یا null استفاده می‌شود.

$var = null;

وقتی یک متغیر تعریف شده اما مقداردهی نمی‌شود، به طور پیش‌فرض دارای مقدار نال است.

$i;
var_dump($i);
# Result:
# NULL

 

متغیرهای NULL در PHP دارای دو خاصیت زیر هستند:

  • در محاسبات بولین به عنوان False شناخته می‌شوند.
  • در هنگام بررسی توسط تابع isset() مقدار 0 یا false به معنای متغیر تعریف نشده برمی‌گرداند.

 

جمع‌بندی: انواع متغیر در PHP

در این مقاله آموزشی به طور جامع به نحوه تعریف متغیرها در پی اچ پی پرداخته و با انواع داده در PHP آشنا شدیم.

متغیرها با علامت دلار در ابتدای آن‌ها تعریف شده و در نام آن‌ها می‌توان از حروف انگلیسی، اعداد و علامت underline استفاده کرد.

با ۸ نوع داده‌ای آشنا شدیم. این هشت نوع شامل عدد صحیح، عدد اعشاری، رشته متنی، آرایه، شئ، Resource، بولین و Null بود.