رفتن به مطلب

پست های پیشنهاد شده

با سلام مجدد

ببخشید که یه خورده کند پیش میره آموزش :s

خب در این درس می خوایم عملگرها (Operators) رو بررسی کنیم.عملگر نمادی ست که کار عملی خاص را انجام می دهد.به عنوان مثال نماد + عملگری است که عمل جمع را انجام می دهد

عملگرهای محاسباتی(Arithmetic Operators)

خب عملگرهای محاسباتی رو می شه به صورت زیر تقسیم کرد :

+ برای جمع دو مقدار =>

$a+$b

- برای تفریق دو مقدار =>

$a-$b

* برای ضرب دو مقدار

$a*$b

/ برای تقسیم دو مقدار

$a/$b

% محاسبه باقیمانده تقسیم دو مقدار

$a%$b

++ افزایشی

$a++ یا ++$a

-- کاهشی

$a-- یا --$a

این هم یک عدد مثال :‌

[align=left]

<?php 
$a=2;
$b=5;
$sum=$a+$b;
$sub=$b-$a;
$multi=$b*$a;
$div=$b/$a;
$remain=$b%$a;
$c=$a;
$d=$b;
$c--;
--$d;
echo "megdhar a: ".$a."
";
echo "megdhar b: ".$b."
";
echo "megdhar jame a va b : ".$sum."
";
echo "megdhar tafrighe a va b : ".$sub."
";
echo "megdhar zarbe a va b : ".$multi."
";
echo "megdhar taghsime a va b : ".$div."
";
echo "megdhar baghimande taghsim : ".$remain."
";
$a++;
++$b;
echo "meghdare a++: ".$a."
";
echo "megdhar b++ : ".$b."
";
echo "megdhar a-- : ".$c."
";
echo "meghdare b-- : ".$d."
";
echo "End :)";
?>

[/align]

که خروجیش به این صورت هستش ؛

download.php?imgf=13291521891.png

عملگرهای مقایسه ای (Comparison Operators)

در PHP تعدادی عملگر وجود دارند که برای مقایسه دو مقدار به کار می روند و به نام عملگرهای مقایسه ای (یا رابطه ای) معروف هست :‌

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

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

== تساوی

=! نا مساوی

<> نامساوی

> کوچکتر

< بزرگتر

=== همانی

اگر بخواهیم مشخص کنید که آیا دو متغیر $a و $b با هم مساوی هستند از علامت == استفاده میکنیم.

به عنوان مثال این دستورات رو ببینید :

$a=10;
$b=10;
$a==$b;

در دستور سوم چون $a و $b برابرند مقدار true برگردانده می شود و اگر نابرار بودن مقدار false برگردانده میشد.

حالا این دستورات رو ببینید :

$a=10;
$b="10"
$a==$b;

تو خط سوم باز هم مقدار true برگردانده میشه.چون به طور اتوماتیک در اینجا نوعstring تبدیل به integer میشه و بعد مقایسه انجام میشه

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

$a=10;
$b="10"
$a===$b;

که دستور سوم مقدار flase برمیگردونه.چون نوع این ۲ متغیر یکی نیستش.

دو عملگر != و <> برای مشخص کردن نامساوی بودن دو متغیر یا عبارت به کار میرود. یعنی اگر نامساوی بودن مقدار true برگردانده میشه.

از این نوع عملگرها ۴تاش باقی میمونه (کوچکتر،کوچکتر یا مساوی،بزرگتر،بزرگتر یا مساوی ) که خب فکر کنم کارشون کاملا مشخص هستش و نیازی به مثال ندارند.

عملگرهای منطقی (Logical Operators)

عملگرهای منطقی بر روی عبارات منطقی عمل می کند. به طور مثال اگر بخواهیم بدانیم مقدار متغیر $a بین 1 و 100 هستش یا خیر

بعد از تموم شدن متغیرها در مورد اولویت متغیرها صحبت خواهیم کرد.

! نقیض (NOT) =>

!$b

اگر $b نادرست باشد نتیجه درست است و بالعکس

&& و (AND) =>

$a && $b

اگر $a و $b هر دو درست باشند نتیجه درست است و در غیر این صورت نادرست است

|| یا =>

$a || $b

اگر $a یا $b درست باشد نتیجه درست است و در غیر این صورت غلط است.

and و (AND) =>

$a and $b

مانند && هستش ولی اولویت کمتری دارد.

or یا (or) =>

$a or $b

مثل || هستش ولی اولویت کمتری دارد.

Xor =>

$a xor $b

در صورتی درست هستش که یا $a یا $b درست باشد.در صورتی که جفتشون درست باشند یا غلط باشند مقدار false برمیگردونه

عملگرهای ترکیبی

تعدادی از عملگرها در PHP هستند که ترکیبی از ۲ عملگر دیگر هستند :

=+ انتساب جمع =>

$a += $b;

این درست مانند این است که بنویسیم :

$a=$a+$b;

=- انتساب تفریق =>

$a -= $b;

این درست مانند این است که بنویسیم :

$a=$a-$b;

=* انتساب ضرب =>

$a *= $b;

این درست مانند این است که بنویسیم :

$a=$a*$b;

=/ انتساب تقسیم =>

$a /= $b;

این درست مانند این است که بنویسیم :

$a=$a/$b;

=٪ انتساب باقیمانده تقسیم =>

$a%= $b;

این درست مانند این است که بنویسیم :

$a=$a%$b;

عملگرهای رشته ای (String Operators)

یکی از متداول ترین عملی که رشته ها لنجام میشود عمل الحاق کردن دو رشته است.این عمل با . (نقطه) انجام می شود.

این رشته را ببینید :

$a="joomina";

$b="Forum";

حال اگر با استفاده از $a و $b رشته ی "joominaForum" رو بسازیم میگوییم که این دو رشته با هم الحاق شده اند :‌

$c=$a.$b;

اگر هم بخواهیم فاصله بندازیم میتونیم اینجوری کنیم :

$space=" ";
$c=$a.$space.$b;

اینجوری این رشته حاصل میشه :

"joomina Forum"

تو PHP دو نوع رشته وجود داره :‌

رشته هایی که تو نقل قول دوتایی هستند مانند : "joomina"

رشته هایی که در نقل قول یکانی هستند مانند : 'joomina'

اگر رشته ای در نقل قول دوتایی قرار بگیرد مانند یک عبارت ارزیابی می شود و اگر در نقل قول یکی باشد مانند یک Literal باهاش رفتار می شود.

به این مثال دقت کنید :‌

$a= 100;
echo "rotbeye joomina az 100 meghdare $a hastesh";
echo 'rotbeye joomina az 100 meghdare $a hastesh';

خروجی خط دوم اینوری هستش :

rotbeye joomina az 100 meghdare 100 hastesh

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

rotbeye joomina az 100 meghdare $a hastesh

همانجوری که می بینید رشته ای که در نقل قول ۲ تایی قرار دارد ارزیابی می شود.

سایر عملگرها

یه سری عملگر در PHP هستش که خب در هیچ دسته ای جایی نداره که این ها هستند :

عملگر ?

این عملگر شرطی را تست کرده بر اساس نتیجه آن ، مقداری را در متغیری قرار می دهد.

متغیر = شرط ؟ مقدار۱ : مقدار۲

اگر شرط دارای ارزش درستی باشد (true باشد) مقدار ۱ وگرنه مقدار ۲ در متغیر قرار میگیرد.به مثال زیر دقت کنید :

$a=8;
$x= $a<7 ? $a*2 : $a*3;

چون $a یبشتر از ۷ هستش پس شرط نادرست هستش و مقدار

$a*3

در $x قرار میگیرد

عملگر @

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

$a=@(55/0);

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

عملگر ارجاع

عملگر ارجاع در php با & (Ampersand) مشخص می شود و با عملگر انتساب (=)به کار می رود. دستورات زیر را ببینید:

$a=5;
$b=$a;

با اجرای این دستور $a و $b هر دو ۵ می شوند.حالا این دستورات رو ببینید :

$a = 5;
$b = &$a;
$a =10;

با اجرای این دستورات $b به عنوان مرجع متغیر $a تعیین می شود و در خط سوم هر دو مقدار برابر ۱۰ می شوند. (مانند Refrence ها در C#)

-----------

پیروز باشید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام

سروش جان

یه توضیح بدم

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

خسته نباشی

--------------------------------

سلام

برای جلوگیری از اسپم مجبور شدم پست شما رو ویرایش کنم و در همین پست جواب بدم

در این مورد قبلا با آقای شمسی صحبت کردیم.زیاد هم توقع استقبال ندارم.میشه گفت مباحث اصلی هنوز شروع نشده :)

-----

پیروز باشید

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

تقدم و شرکت پذیری متغیرها

قانون تقدم عملگرها مشخص میکند در عبارتی با چند عملگر کدام عملگر زودتر صورت میگیرد

تقدم اجرای عملگرها از کمترین به بیشترین تقدم:

  1. or =>شرکت پذیری :‌ چپ به راست
  2. xor =>شرکت پذیری :‌ چپ به راست
  3. and =>شرکت پذیری :‌ چپ به راست
  4. = += -= *= .= %= ^= ~= < <= > > >= =>شرکت پذیری :‌ چپ به راست
  5. ?: =>شرکت پذیری :‌ چپ به راست
  6. || =>شرکت پذیری :‌ چپ به راست
  7. && =>شرکت پذیری :‌ چپ به راست
  8. | =>شرکت پذیری :‌ چپ به راست
  9. ^ =>شرکت پذیری :‌ چپ به راست
  10. & =>شرکت پذیری :‌ چپ به راست
  11. == != === =>شرکت پذیری :‌ چپ به راست
  12. < <= > >= =>شرکت پذیری :‌ داخلی ترین
  13. < < > > =>شرکت پذیری :‌ چپ به راست
  14. + - . =>شرکت پذیری :‌ چپ به راست
    * / % =>شرکت پذیری :‌ چپ به راست
  15. ! ~ ++ -- =>شرکت پذیری :‌ راست به چپ
  16. new =>شرکت پذیری :‌ داخلی ترین
  17. () =>شرکت پذیری :‌ داخلی ترین

حالا دستورات زیر را ببینید :

$a = 5;
$b = 10;
$c = $a + 7 +$b;

در مواردی مثل بالا که دو عملگر با تقدم یکسان وجود دارد ، قانون شرکت پذیری در زبان مشخص می کند کدام عملگر زودتر باید انجام گیرد.در اینجا شرکت پذیری + چپ می باشد پس عملگر +‌اول زودتر انجام میگیرد

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

میشه درباره کاربرد این عملرها ی کم بیشتر توضیح بدید که بیشتر در چه مواردی کاربر دارند

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

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

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • افزودن...