تعریف متغیرها و انتساب مقدار به آنها، از اصول اولیه یادگیری یك زبان برنامهنویسی است. یكی از ویژگیهای PHP این است كه نوع داده در آن مثل زبانهای دیگر مهم نیست. به فرض شما یك متغیر دارید كه مقدار رشتهای در آن ذخیره كردهاید. پس از اجرا كردن چند دستور میتوانید در همان متغیر یك عدد اعشاری را ذخیره كنید بدون این كه خللی در روند برنامه وارد شود. این ویژگی در بعضی موارد خوب است و گاهی نیز شما را اذیت میكند. پیشنهاد میشود در تعریف متغیرها در PHP نوع آن را در نام متغیر ذكر كنید.
اما قواعد نامگذاری متغیرها در PHP مانند دیگر زبانهاست؛ یعنی نام متغیرها نمیتواند با عدد شروع شود و... .
برای مثال:
$4site = 'not yet';
$_4site = 'not yet';
$täyte = 'mansikka';
مورد اول اشتباه است، چرا كه با عدد شروع شده ، اما 2 مورد بعدی درست است.
همچنين انواع داده در PHP و همان طور كه گفته شد نوع داده برای متغیرها در PHP اهمیتی ندارد.
$int = 16;
$float = 15/5;
$boolean = true;
$string = «Hello World!»;
$object = new Person();
در بالا ۵ نوع داده اصلی را مثال آوردیم، مقدار $int یك عدد صحیح ۳۲ یا ۶۴ بیت را معرفی میكند كه معادل int و long در زبان C است. float$ یك عدد اعشاری را مشخص میكند كه معادل آن در C، double و float است و boolean$ یك مقدار باینری یا صفر و یك را نشان میدهد. مقدار صفر برابر غلط یا false است و مقداری غیر از صفر معنای درست دارد، مقدار string$ هم یك رشته متنی را نشان میدهد؛ در نهایت object$ نشاندهنده یك شیء از یك كلاس است.
یكی دیگر از انواع داده مهم در PHP آرایهها هستند؛ آرایهها در PHP با زبانهای دیگر قدری متفاوت است. با ذكر یك مثال این موضوع را بیشتر توضیح میدهیم.
$arrayVariable = array (1,2,3,4,5);
مثال بالا مقدار arrayVariable$ یك آرایه ۵ تایی را كه شامل اعداد یك تا ۵ است، نشان میدهد. برای دسترسی به آرایههای آن میتوان به صورت زیر عمل كرد:
$arrayVariable[0], $arrayVariable[1], $arrayVariable[2],...
تا اینجای كار مانند دیگر زبانهاست؛ اما اندیس آرایه شما میتواند یك رشته متنی باشد (در زبان #C به آن Indexer میگویند). بگذارید آرایه بالا را دوباره بنویسیم.
$arrayVariable = array (“1”=»1,”2”=»2);
از این به بعد میتوانید بنویسید:
$arrayVariable[“1”], $arrayVariable[“2”],…
شما میتوانید اندیسهای خود را تركیبی كنید؛ یعنی یك عنصر اندیس آن عدد باشد و دیگری یك رشته متنی، مثلا:
$arrayVariable = array (“1”=»1,2=»2);
آرایه دوبعدی نیز براحتی تعریف میشود. كافی است هر عنصر آرایهای را معادل یك آرایه قرار دهید، مثلا:
$arrayVariable = array(“test”=»array (1,2,3,4,5));
تا اینجا با تعریف متغیرهای اصلی در PHP آشنا شدید؛ اما زبان PHP یكسری متغیر را به صورت پیشفرض معرفی كرده كه در زیر آنها را به اختصار بیان كردهایم.
POST_$: این متغیر یك آرایه از مقادیری است كه به صفحه شما POST شدهاند. اما یعنی چه؟ همانطور كه در شماره پیش گفته شد PHP یك زبان اسكریپتی تحت وب است. اما اطلاعات ورودی را چگونه دریافت میكند؟ این اطلاعات یا به وسیله فرمهای html یا از طریق url به كد ما ارسال میشود. منظور از فرمهای HTML این است كه در html یك تگ form وجود دارد كه در آن چند input قرار دارد، شما برای form علاوه بر یك action، درون آن نیز یك دكمه submit تعریف میكنید. وقتی كاربر روی submit كلیك كرد اطلاعاتی كه در inputهای درون فرم وارد شدهاند به صورت Key/Value (كلید مقدار) ـ كه كلید برابر نام آن Input و مقدار برابر مقدار آن input است ـ برای صفحه مورد نظر POST میشوند. این اطلاعات در متغیر POST_$ قرار دارد.
GET_$: این متغیر دقیقا مانند POST_$ عمل میكند منتها با یك تفاوت. حتما دیدهاید وقتی روی یك لینك كلیك میكنید نشانی آن به صورت زیر است:
http://domain.com/test.PHP?id= 1&name=click
این نشانی شامل 2 متغیر است كه اصطلاحا به آنها Query String میگویند. در مثال بالا id=1 و 2name = click متغیر هستند، این مقدارها به صورت یك Value ،Key (كلید مقدار) در GET_$ ذخیره میشوند.
REQUEST_$: این متغیر آرایهای است كه شامل POST_$ و GET_$ میشود و همین طور COOKIE_$ (كوكی اطلاعات ذخیره شده در رایانه مقصد است).
حلقهها
حلقهها در PHP مانند زبان C و دیگر زبانهاست، تنها تفاوتی كه وجود دارد حلقه foreach است كه قدری فرق دارد. فرض كنید میخواهیم مقداری متغیر POST_$ را نمایش دهیم كه به صورت زیر مینویسیم:
foreach($_POST as $post){
echo $post;
}
اما مقدار post$ چیست؟ مقدار post$ برابر مقدار عنصر آرایه است، اما همانگونه كه گفتیم آرایهها به صورت كلید مقدار هستند و ما میخواهیم یك عنصر خاص را بررسی كنیم. در این وضعیت باید چه كنیم؟ كافی است حلقه بالا را به صورت زیر بازنویسی كنید:
foreach($_POST as $key=»$value){
echo $key.” is “ .$value.”«br/»”;
}
اگر كد بالا را اجرا كنید، خروجی به صورت كلید مقدار برای شما نمایش داده خواهد شد. نمونه خروجی بالا به صورت زیر است:
Name is Click
Page is Programming