دادههای قابل تعریف در زبانهای برنامهنویسی انواع مختلفی دارند. انواع داده متغیر در 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;
3. رشته متنی (String)
رشته متنی دنبالهای از کاراکترهاست که درون یک متغیر ذخیره میشود. هر رشته ممکن است شامل صفر کاراکتر (رشته خالی) یا هزاران کاراکتر (یک متن طولانی) باشد.
هر کاراکتر فضای یک بایت را اشغال میکند. در مستندات رشته PHP اعلام شده که هر رشته میتواند حداکثر 2 گیگابایت حجم اشغال کند. بنابراین احتمالاً این مقدار هیچ وقت برایمان کم نخواهد بود!
برای تعریف یک رشته، کاراکترها را درون علامت نقل قول انگلیسی (تلفظ به فارسی: کوتیشن) قرار میدهیم. این علامت میتواند به صورت تک کوتیشن ('
) یا دابل کوتیشن ("
) باشد.
<?php
$message = "Hello World!";
$site = 'SabzDanesh.com';
$s = $message . " from " . $site;
در آخرین خط در این قطعه کد، سه رشته متنی را به یکدیگر متصل کردهام. برای یادگیری ترفندهای کاربردی کار با رشته، پیشنهاد میکنم آموزش زیر را ببینید:
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'];
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 و کار با آن و مفاهیمش، پس از پایان جلسات مقدماتی صحبت میکنم.
6. منابع یا Resourceها در PHP
متغیر منبع یا Resource یک متغیر خاص برای نگهداری ارجاع به یک منبع خارج از PHP است. فرض کنید با آموزش خواندن فایل در PHP یک فایل را باز کردهایم. متغیری که اطلاعات فایل را درون خودش نگهداری میکند، یک متغیر منبع است.
همچنین در هنگام ارتباط با پایگاه داده، شئ ارتباط با دیتابیس را نگهداری میکنیم تا از طریق آن دستورات خود را اجرا کنیم. به این گونه متغیرها متغیرهای Resource یا متغیر منبع گفته میشود.
در مثال زیر، یک فایل به نام test.txt
را باز کرده و اطلاعات آن را میخوانیم. متغیر $f
از نوع منبع در PHP است.
$f = fopen( "test.txt", "r" );
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
این آموزش برای همیشه رایگانه! میتونید با اشتراکگذاری لینک این صفحه از ما حمایت کنید یا با خرید یه فنجون نوشیدنی بهمون انرژی بدید!
میخوام یه نوشیدنی مهمونتون کنم
واقعا دمتون گرم، من خودم برنامه نویسم و نیاز بود یه سینتکسی برام یادآوری بشه. خیلی عالی و روان. فقط مثال شی گرایی رو در بخش چاپ ساده تر بنویسید تا فهمش راحت تر باشه، فکر کنم فقط نویسنده و من دونستیم ک چی شد اونجا 🙂
خیلی خوشحالم که این آموزش رو مفید میدونی عرفان عزیز. 🙂
ممنون بابت نظرت. حتماً بهزودی بخش شیءگرایی رو یک بررسی و بازنویسی مجدد میکنم.
با سلام و تشکر
آموزش شما یک اشکال بنیادی داره، شما آموزش رو بومی کردید و از معادل های فارسی استفاده کردید
مثلا از عبارت متغیر استفاده کردید در حایکه بهتر بود از عنوان بین المللی Variable استفاده و در تایتل اول اینطور ذکر میشد: Variable (متغیر)
جاهایی اینکار رو کردید ولی برعکس ولی برای متغیر اصلا معادل انگلیسی درج نشده
غیر از این، آموزش خوبیه
موفق باشید
سلام
ممنون بابت نظرتون.
البته کمی مخالف هستم! بعضی کلمات وقتی معادل خوبی دارن که هم مفهوم رو میرسونه و هم از بحث دور نیست، چرا استفاده نکنیم؟
نمونهاش همین متغیر؛ متغیر ترجمهی خوبیه. اما قطعاً ترجمه بعضی مفاهیم تخصصی اصلاً خوب نیست؛ برای مثال در جلسات بعدی با مفهوم کوکی (کلوچه!) یا سشن (جلسه یا نشست!) مواجه میشیم که ترجمههاشون اصلاً نباید استفاده بشه به نظرم 🙂
با نظرتون متوجه شدم هیچ جای متن این آموزش نگفتم معادل متغیر variable هست که حتماً در بهروزرسانی اضافه میکنم. باز هم ممنون بابت نظرتون.
سلام. وقت بخیر من متد
onclick="return confirm()"
رو در php دیدم و کاربردش رو هم فهمیدم، اما این کلمه return این وسط چکاره است؟ اگه ممکنه لطفاً کمی توضیح بدید.سلام
این کد در حقیقت یک کد جاوا اسکریپتی هست. معمولاً با قرار گرفتن return در چنین موقعیتی، خروجی تابع confirm() تعیین میکنه که رفتار پیشفرض در هنگام کلیک شدن انجام بشه یا نه. اگر این قطعه در تگ لینک قرار بگیره، بعد از کلیک کاربر روی لینک و تأیید پیغام ظاهر شده، به لینک مورد نظر منتقل میشیم.
امیدوارم جوابتون رو گرفته باشید.