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

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

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

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

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

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

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

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

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

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

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

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

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

$test;
$test = "SabzDanesh";

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

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

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

۸ نوع متغیر در 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 گیگابایت حجم اشغال کند. بنابراین احتمالاً این مقدار هیچ وقت برایمان کم نخواهد بود!

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

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

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

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

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

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

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

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

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

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

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

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

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

برای آشنایی با این نوع داده‌ای و یادگیری ترفندهای آن، به آموزش آرایه در PHP مراجعه کنید. اگر در حال گذراندن جلسات دوره 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)

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

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

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

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

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

<?php
$p = new person;
var_dump($p);

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

همان‌طور که در خروجی کد می‌بینید، مقدار ذخیره شده در Objectها، ویژگی‌های ذخیره شده در آبجکت است. در مورد ایجاد کلاس در PHP و کار با آن و مفاهیمش، پس از پایان جلسات مقدماتی صحبت می‌کنم.

نمونه متغیر شیء در PHP
نمونه متغیر شیء در PHP

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

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

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

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

$f = fopen( "test.txt", "r" );
آموزش کار با فایل در PHP در ۴ مرحله

آموزش کار با فایل در PHP در ۴ مرحله

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

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

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

$is_enabled = true;

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

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

8. متغیر NULL در PHP

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

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

$var = null;

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

$i;
var_dump($i);

# Result:
# NULL

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

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

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

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

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

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

این آموزش بخشی از یک آموزش جامع و قدم به قدم در سبز دانش است: دوره رایگان آموزش PHP