دستور if در PHP

در خیلی موارد نیازه که اجرای بعضی دستورات در صورت برقراری شرط یا شرایطی صورت بگیره برای این منظور ما از دستور if استفاده میکنیم.

دستور if در php بسیار شبیه دیگر زبانهای برنامه نویسی  مثل زبان C هست. اما ممکنه این اولین زبانی باشه که شما یاد میگیرید پس با مثالی نحوه کار این دستور رو توضیح میدم.

ما همیشه تو زندگی خودمون از if استفاده میکنیم مثلا میگیم:

  • اگر پول به حسابم واریز شد اونوقت میرم اون قطعه ی سخت افزاری رو میخرم.
  • اگر این ترم معدلم بالای ۱۷ اومد اونوقت ترم بعد واحدهای بیشتری برمیدارم.
  • و …

در زبان php هم همینطوره  میگیم اگر شرط ما برقرار شد اونوقت یکسری از دستورات رو انجام بده. البته دستورات IfElse و 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!";
  }
?>

در کد بالا ما گفتیم اگر ساعت کمتر یا کوچکتر از ۲۰ هست اونوقت پیام 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 رو برمیگردونن.

 

مهم: ۰ از نوع integer و ‘۰’ از نوع string و false از نوع boolean همگی در اپراتور برابر( == ) یا نابرابر ( =! ) معنی false میدن و یا برعکس ، ۱ از نوع integer و ‘۱’ از نوع string و true از نوع boolean هم همگی در این اپراتور به معنی true هستن. اما همونطور که خوندید در اپراتور کاملا نابرابر( ==! ) یا کاملا برابر ( === ) چون هم نوع و هم مقدار بررسی میشن، در این مثال فقط اونهایی که نوعشون هم boolean هست معنی true یا false  میدن. عملگرهای مقایسه ای رو بخونید.

مثال:

این کد

<?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 ';

?>

 خروجی:

yes no

چک کردن چند شرط

گاهی اوقات نیازه تا چند یا چندین شرط مورد بررسی قرار بگیره در اینجا چند مثال براتون آماده کردیم:

<?php
$a=true;
$b=4;

function result(){
	return TRUE;
}

if(result() && $a && $b==2){
 // do something
}
?>

در این حالت شرط برقرار نمیشه چون از عملگر && یا  AND استفاده شده و باید همه شرط ها صحیح باشن اما در اینجا شرط آخر یعنی ۴=b$ درست نیست.

 

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

به سوال زیر پاسخ بدهید *