فوریه 21, 2019 Mostafa بدون دیدگاه

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

توجه : درخواست افزونه ،قالب، اسکریپت و نرم افزار و ... و سوالات و مشکلات خود را در انجمن ارسال نمایید

ثوابت در PHP

استفاده از ثوابت زبان PHP

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

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

برای نمونه، ممکن است یک ثابت را به اسم “نام شرکت” و دیگری را به اسم “آدرس شرکت” تعیین کنید و آنرا هرجا که نیاز دارید، استفاده کنید. اگر آدرس شرکت تغییر کند، می توانید مقدار ثابت آدرس شرکت را به راحتی در ابتدای کد بجای گشتن در میان انبوه کدها پیدا کنید.

الگوی تعریف ثوابت بصورت زیر و با دستور define است :

 

define(“constantname","constantvalue");

 

 

برای نمونه، برای تعیین یک ثابت با اسم نام شرکت از دستور زیر استفاده کنید :

define('tricksweb','ترفندهای رایانه');

 

برای صدا زدن ثابت شما کافیست نام آن را صدا بزنید که در مثال بالا tricksweb می باشد.

از دستور زیر برای نمایش مقدار ثابت می توانید استفاده کنید :

 

echo COMPANY;

 

وقتی که یک ثابت را echo می کنید، نمی توانید آنرا در درون کوتیشن قرار دهید. اگر اینکار را انجام دهید، نام ثابت بجای مقدار آن نمایش داده می شود.

هر اسمی که برای یک متغیر می توانید استفاده کنید را برای ثوابت هم می توانید استفاده کنید، به شرط آنکه قوائد زیر را رعایت کنید :

 

قوانین نام گذاری ثوابت در PHP

  • از هیچ شناسه ای استفاده نکنید: نام های ثوابت مانند متغیر توسط یک علامت دلار و یا هر علامت دیگر شروع نمی شوند.
  • بزرگی حروف : بر اساس یک قرارداد، نام های ثوابت می بایستی بصورت حروف بزرگ باشند تا به راحتی در میان سایر دستورات و متغیرها شناسایی شوند. هرچند که خود PHP اهمیتی نمی دهد که چه اسمی برای یک ثابت می گذارید. احتیاجی نیست حتما از حروف بزرگ استفاده کنید فقط در این حالت، کاراکترها واضح تر به نظر می رسند.
  • کاراکترها : می توانید هم اعداد و هم رشته ها را در ثوابت ذخیره کنید. برای مثال دستور زیر کاملا مورد قبول PHP است :

 

define ('AGE',29);

 

عملگرها در PHP

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

  • حسابی
  • انتسابی
  • رشته‌ای
  • مقایسه‌ای
  • منطقی
  • آرایه

عملگرهای حسابی درPHP

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

نتیجه

مثال

نام

عملیات

جمع $x و$y

$x+$y

جمع

+

تفریق$x و $y

$x-$y

تفریق

ضرب $x و$y

$x*$y

ضرب

*

تقسیم $x و y$

$x/$y

تقسیم

/

باقیمانده تقسیم $x و $y

$x%$y

قدر مطلق

%

 

مثال زیر نتایج مختلف عملگرهای حسابی را نشان می‌دهد.

 

<!DOCTYPE html>
<html>
<body>
 
<?php
$x=10;
$y=6;
 
echo ($x + $y);
echo "<br>";
echo ($x - $y);
echo "<br>";
echo ($x * $y);
echo "<br>";
echo ($x / $y);
echo "<br>";
echo ($x % $y);
?>  
 
</body>
</html>

مثال بالا دستور می‌دهد اول x و y را با هم جمع  و در خط بعدی x را از y کم، در ادامه، x را در y ضرب  و در آخر  قدر مطلق باقی‌مانده تقسیم x و y  را چاپ کند

خروجی به صورت زیر می‌باشد:

۱۶
۴
۶۰
۱.۶۶۶۶۶۶۶۶۶۶۶۶۷
۴

 

عملگرهای انتسابی در PHP

برای اختصاص دادن یک مقدار به یک متغیر از عملگر Assignment یا انتسابی استفاده می‌شود. پایه این عملیات در پی اچ پی، علامت “=”است.

در جدول زیر با این نماد این عملگرها در PHP و نحوه انجام دستور، آشنا شوید.

توضیحات

مثال

انتساب

عملگر سمت چپ ارزشی برابر با آنچه که سمت راست بیان می‌شود، دارد

x=y

x=y

عمل جمع

x=x+y

x+=y

عمل تفریق

x=x-y

x-=y

عمل ضرب

x=x*y

x*=y

عمل تقسیم

x=X/y

X/=y

قدر مطلق

x=x%y

X%=y

 

در یک مثال عملکرد، عملگرهای انتسابی را مشاهده کنید.

<!DOCTYPE html>
<html>
<body>
 
<?php
$x=10;
echo $x;
echo "<br>";
 
$y=20;
$y += 100;
echo $y;
echo "<br>";
 
$z=50;
$z -= 25;
echo $z;
echo "<br>";
 
$i=5;
$i *= 6;
echo $i;
echo "<br>";
 
$j=10;
$j /= 5;
echo $j;
echo "<br>";
 
$k=15;
$k %= 4;
echo $k;
?>  
 
</body>
</html>

 

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

۱۰
۱۲۰
۲۵
۳۰
۲ ۳

عملگرهای رشته‌ای در PHP

این عملگرها در PHP به دو دسته تقسیم می‌شوند که هر دو وظیفه‌ی کنار هم قرار دادن متن‌ها و تشکیل یک جمله را دارند. این متغیرهای رشته ای هر کدام در یک خط به صورت جداگانه تعریف شده اند اما در خروجی نیازمند قرار گرفتن آن‌ها در کنار هم و به صورت یک جمله هستیم. در حقیقت با استفاده از ( . ) رشته های را در PHP ادغام میکنند.

جدول زیر این عملگرهای رشته‌ای را معرفی می‌نماید.

عملگر

نام

مثال

نتیجه

.

الحاق

$txt1 =”Hello”

$txt2 = $txt1 .”world!”

 متن ۲ شامل !Hello world می‌شود

.=

مامور الحاق

$txt1 = “Hello”

$txt1 .= “world!”

متن۱شامل !Hello world می‌شود

هر دو عملگر یک خروجی را به همراه دارد اما یک تفاوت با هم دارند. برای عملگر اول باید دو تابع رشته‌ای با نام‌های جداگانه تعریف کنیم.

یک مثال برای این عملگرها در PHP مشاهده کنید.

 

<!DOCTYPE html>
<html>
<body>
 
<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // outputs Hello world!
 
echo "<br>";
 
$x="Hello";
$x .= " world!";
echo $x; // outputs Hello world!
?>  
 
</body>
</html>

 

خروجی دستور این پی اچ پی، همانند آنچه که در جدول توضیحات بیان شد، بدست می‌آید.

Hello world!
Hello world!

در PHP میتوان رشته ها را با اعداد نیز ترکیب کرد:

 

$num=5;
$x="Test".$num;

 

عملگر کاهش یا افزایش در PHP

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

عملگر

نام

توضیحات

++$x

قبل از افزایش

 افزایش  x سپس  برگرداندن x

$x++

ارسال افزایش

برگرداندن آن سپس افزایش x

– -$x

قبل از کاهش

 کاهش x سپس  برگرداندن x

$x- –

ارسال کاهش

برگرداندن آن سپس کاهش x

یک مثال برای درک بهتر تفاوت بین روش‌های افزایش با هم و روش‌های کاهش با هم مشاهده کنید.

<html>
<body>
 
<?php
$x=10;
echo ++$x;
echo "<br>";
 
$y=10;
echo $y++;
echo "<br>";
 
$z=5;
echo --$z;
echo "<br>";
 
$i=5;
echo $i--;
?>  
 
</body>
</html>

 

خروجی دستور بالا براساس قوانین گفته شده به صورت زیر است:

۱۱
۱۰
۴
۵

در دستور اول نمایش x بعد از یک واحد افزایش خواسته شده است، در دستور دوم نمایش x و ارسال یک واحد افزایش خواسته شده، اگر تابع یک بار دیگر x را با این دستور صدا می‌زد مقدار متغیر با آن  یک واحد افزایش ارسال شده، نمایش داده می‌شد. ( این مثال تنها یک بار x  برای دستور ++x$ صدا زده شده است) و در دستور سوم و چهارم همین روند برای یک واحد کاهش اتفاق افتاده است.

عملگرهای مقایسه ای در PHP

عملگرهای مقایسه‌ای در پی اچ پی، برای مقایسه ی دومقدار استفاده می‌شوند. این مقدارها می‌توانند از جنس عدد و متن ( رشته ای) باشند.

در جدول زیر نماد این عملگرها در PHP  و کاربرد آن‌ها آشنا می‌شوید.

 

عملگر

نام

مثال

نتیجه

==

مساوی

$x == $y

اگر x برابر با y باشد درست است

===

یکسان

$x === $y

اگر x برابر با y و از یک نوع باشد درست است

=!

نابرابر

$x != $y

اگر x با y برابر نباشد درست است

<>

نا برابر

$x <> $y

اگر x با y برابر نباشد درست است

==!

غیر یکسان

$x !== $y

اگر x باy  برابر یا از یک نوع نباشند درست است

<

بزرگتر

$x > $y

اگر x از y بزرگتر باشد درست است

>

کوچک تر

$x < $y

اگر x از y کوچک‌تر باشد درست است

=<

بزرگتر یا مساوی

$x >= $y

اگر x بزرگ‌تر یا مساوی y باشد درست است

=>

کوچکتر یا مساوی

$x <= $y

اگر x کوچک‌تر یا مساوی y باشد درست است

برای درک بهتر از این عملگرها مثال زیر را مشاهده کنید.

<!DOCTYPE html>
<html>
<body>
 
<?php
$x=100;
$y="100";
 
var_dump($x == $y); // returns true because values are equal
echo "<br>";
var_dump($x === $y); // returns false because types are not equal
echo "<br>";
var_dump($x != $y); // returns false because values are equal
echo "<br>";
var_dump($x !== $y); // returns true because types are not equal
echo "<br>";
 
$a=50;
$b=90;
 
var_dump($a > $b);
echo "<br>";
var_dump($a <  $b);
?>  
 
</body>
</html>

 

در این مثال یک متغیر x و یک متغیر y معرفی شده‌اند که از نظر مقدار با هم برابر هستند ولی بخاطر قرار گرفتن متغیر y  در بین علامت ” ” نوع آن با نوع متغیر x متفاوت شده است.
خروجی دستور بالا به صورت زیر است:

bool(true)
bool(false)
bool(false)
bool(true)
bool(false)
bool(true)

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

عملگرهای منطقی در PHP

عملگرهای منطقی and، or، xor، &&، ||، !، در PHP بین دو متغیر قرارمی‌گیرند و شرایط درست یا نادرست بودن آن متغیرها را در PHP بیان می‌کند. لازم به ذکر است که عملگرهای && و || در اولویت بالاتری هستند. جدول زیر خروجی این متغیرها را در صورت قرار گرفتن عملگرهای پی اچ پی بین آن‌ها بیان می‌کند

عملگر

نام

مثال

نتیجه

and

و

$x and $y

اگر x و y درست باشد، درست است

Or

یا

$x or $y

اگر x یا y درست باشد، درست است

Xor

X یا

$x xor $y

اگر یکی از متغیرهای x یا y درست باشد درست است

&&

و

$x && $y

اگر x و y درست باشد، درست است

||

یا

$x || $y

اگر x یا y درست باشد، درست است

!

هیچ

!$x

اگر x درست نباشد، درست است

عملگرهای آرایه در PHP

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

عملگر

نام

مثال

نتیجه

+

اتصال

$x + $y

اتصال x و y

==

تساوی

$x == $y

اگر x و y یک مقدار داشته باشد، درست است

===

یکسان

$x === $y

اگر x وy دارای یک مقدار و از یک نوع باشند درست است.

!=

نا برابری

$x != $y

اگر x و y با هم برابر نباشند،درست است

<>

نا برابری

$x <> $y

اگر x و y با هم برابر نباشند،درست است

!==

غیر یکسان

$x !== $y

اگر x با y یکسان نباشد، درست است

برای درک بهتر عملکر این نماد ها یک مثال را بررسی کنیم.

 

<!DOCTYPE html>
<html>
<body>
 
<?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
$z = $x + $y; // union of $x and $y
var_dump($z);
echo "<br>";
var_dump($x == $y);
echo "<br>";
var_dump($x === $y);
echo "<br>";
var_dump($x != $y);
echo "<br>";
var_dump($x <> $y);
echo "<br>";
var_dump($x !== $y);
?>  
 
</body>
<span style="font-family: 'Courier New',Verdana,Arial,Helvetica; font-size: small;"></html></span>

 

 

خروجی این دستور به صورت زیر است:

array(4) { [“a”]=> string(3) “red” [“b”]=> string(5) “green” [“c”]=> string(4) “blue” [“d”]=> string(6) “yellow” }
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)

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

 


برچسب ها