در خیلی موارد نیازه که اجرای بعضی دستورات در صورت برقراری شرط یا شرایطی صورت بگیره برای این منظور ما از دستور if استفاده میکنیم.
دستور if در php بسیار شبیه دیگر زبانهای برنامه نویسی مثل زبان C هست. اما ممکنه این اولین زبانی باشه که شما یاد میگیرید پس با مثالی نحوه کار این دستور رو توضیح میدم.
ما همیشه تو زندگی خودمون از if استفاده میکنیم مثلا میگیم:
- اگر پول به حسابم واریز شد اونوقت میرم اون قطعه ی سخت افزاری رو میخرم.
- اگر این ترم معدلم بالای 17 اومد اونوقت ترم بعد واحدهای بیشتری برمیدارم.
- و …
در زبان php هم همینطوره میگیم اگر شرط ما برقرار شد اونوقت یکسری از دستورات رو انجام بده. البته دستورات If…Else و Else و Else if هم وجود دارن که در درس های بعد به اونها میپردازیم.
Syntax
if (condition) { code to be executed if condition is true; }
Colon Syntax
if (condition): code to be executed if condition is true; endif;
condition اینجا شر ما هست که اگر مقدارش true باشه (یعنی درست باشه) دستورات داخل براکتهای فرفری (curly brackets) {…} اجرا میشن.
مثال ها
مثال اول
<?php $t=date("H"); if ($t<"20") { echo "Have a good day!"; } ?>
در کد بالا ما گفتیم اگر ساعت کمتر یا کوچکتر از 20 هست اونوقت پیام Have a good day رو نمایش بده.
مثال دوم
$name = "Reza"; if ( $name == "Reza" ) { echo "Your name is $name!<br />"; } echo "Welcome to my homepage!";
در کد بالا ما یک متغیر با محتوای Reza داریم در لاین بعدی میگیم اگر متغیر name$ برابر با Reza بود اونوقت پیام Your name is Reza رو نمایش بده و دستور بعدِ براکت هم میاد پیام Welcome to my homepage رو نمایش میده.
نکته: توجه داشته باشید که php زبان case-sensitive هست یعنی به حروف بزرگ و کوچک حساسه پس از نظر php رشته “Reza” با “reza” فرق میکنه.
در صورتی فقط یک دستور در صورت درست بودن شرط دارید میتونید علامت براکت { } رو نذارید به این شکل:
$name = "Reza"; if ( $name == "Reza" ) echo "Your name is $name!<br />"; echo "Welcome to my homepage!";
اما باید مراقب باشید که اشتباه نکنید چون در این صورت فقط یک دستور بعد از if مربوط به شرط ما میشه.
ترفند: هنگام بررسی شرط با if وقتی فقط غلط یا false نبودن براتون مهمه نیاز نیست حتما غلط نبودن (false =! ) رو بذازید چون وقتی با if درست یا غلط رو بررسی میکنید بطور پیشفرض غلط نبودن (true =! ) محاسبه میشه. خیلی از توابع در صورتی که کارشون رو بدرستی انجام بدن مقدار true رو برمیگردونن.
مثال:
این کد
<?php $a=true; if($a == TRUE){ echo 'success!'; } ?>
با این کد براره:
<?php $a=true; if($a){ echo 'success!'; } ?>
مثال:
<?php $a = '1'; # string $b = 1; # integer $c = true; # boolean if ($a and $b and $c) # if $a == true ... echo ' yes '; else echo ' no '; if ($a === true and $b === true and $c === true) echo ' yes '; else echo ' no '; ?>
خروجی:
چک کردن چند شرط
گاهی اوقات نیازه تا چند یا چندین شرط مورد بررسی قرار بگیره در اینجا چند مثال براتون آماده کردیم:
<?php $a=true; $b=4; function result(){ return TRUE; } if(result() && $a && $b==2){ // do something } ?>
در این حالت شرط برقرار نمیشه چون از عملگر && یا AND استفاده شده و باید همه شرط ها صحیح باشن اما در اینجا شرط آخر یعنی 4=b$ درست نیست.