PHP: Operators

PHP: Operators

LEVEL : Intermediate

Knowledge Required: HTML, PHP Basic

PHP မှာလဲ အခြား Programming Languages တွေလိုပဲ Operators တွေရှိပါတယ်။ အဲဒီ Operator တွေ သုံးပြီး Data တွေကို ထိန်းချုပ်လို့ ရပါတယ်။ အဲဒီ Operator တွေကို လေ့လာမယ်ဆိုရင် သူ့သက်ဆိုင်ရာ အလိုက် အမျိုးအစားတွေ အများကြီး ကွဲပြားပါတယ်။ တူရာတူရာ စုထားမယ် ဆိုရင်

  • Arithmetic Operators: အခြေခံ သချင်္ာဆိုင်ရင် တွက်ချက်မှုများအတွက်
  • Arithmetic Assignment Operators: တန်ဖိုးသတ်မှတ်ပေးဖို့အတွက်
  • Comparison Operators: တန်ဖိုးနှစ်ခုကို နှိုင်းယှဉ်ဖို့အတွက်
  • Error Control Operators: Error တွေကို ရပ်တန့် ထိန်းချုပ်နိုင်ဖို့အတွက်
  • Incrementing/Decrementing Operators: တန်ဖိုးအတိုးအလျော့ လုပ်နိုင်ဖို့အတွက်
  • Logical Operators: ရွေးချယ်ခြင်း ဆိုင်ရာတွေအတွက်
  • String Operators: Strings တွေကို ထိန်းချုပ်နိုင်ဖို့အတွက်

Arithmetic Operators

ကျောင်းမှာ သချင်္ာတွက်တဲ့အခါ သုံးနေတဲ့ ပေါင်းနှုတ်မြှောက်စား Operators တွေပဲ ဖြစ်ပါတယ်။

( + ) ဆိုရင် ပေါင်းလဒ်ပြန်ပေးမယ်

echo 2 + 2;  // Outputs 4

( – ) ဆိုရင် နှုတ်လဒ် ပြန်ပေးမယ်

echo 4 – 2; // Outputs 2

( * ) ဆိုရင် မြောက်လဒ် ပြန်ပေးမယ်

echo 4 * 2; // Outputs 8

( / ) ဆိုရင် စားလဒ် ပြန်ပေးမယ်

echo 8 / 2; // Outputs 4

ဒီနေရာမှာ မှတ်ထားဖို့ လိုတာကတော့ ( /) Operator ဖြစ်ပါတယ်။ စားလို့ ရလာတဲ့ ရလဒ်က ဒဿမကိန်းတွေ ဆိုရင် ရလဒ်ကို float နဲ့ ပြန်ပေး ပါလိမ့်မယ်။ စားလို့ ပြတ်တာတွေ ဆိုရင်တော့ integer ပဲ ပြန်ပေးမှာ ဖြစ်ပါတယ်။

Modulus Opeator ( % ) ဆိုတာကတော့ စားလို့ ပြတ်မပြတ် ဆိုတဲ့ အဖြေပြန်ပေးပါလိမ့်မယ်။

echo 7 % 2; // Outputs 1

echo 8 % 2;  // Outputs 0

Arithmetic Assignment Operators

PHP အနေနဲ့ တန်ဖိုးသတ်မှတ်ခြင်းဆိုင်ရာ Operators တွေကို နည်းလမ်းမျိုးစုံနဲ့ အထောက်အပံ့ ပေးပါတယ်။ အဓိက တန်ဖိုးသတ်မှတ်တဲ့ Operator ကတော့ ( = ) ဖြစ်ပါတယ်။ အဲဒီ ညီမျှခြင်းက တူညီတယ်ဆိုတဲ့ အဓိပ္ပါယ်မဟုတ်ပါဘူး။ သတ်မှတ်ပေးတာ ဖြစ်ပါတယ်။

$a = 5;

အဲဒီလိုဆိုရင် $a ဆိုတဲ့ Variable ကို တန်ဖိုး 5 လို့ သတ်မှတ်လိုက်တာ ဖြစ်ပါတယ်။ $a က 5 နဲ့ ညီမျှတာ မဟုတ်ပါဘူး။

အခြား ပေါင်းစပ်ထားတဲ့ Operators တွေလည်း အများကြီး ရှိပါတယ်။ အဲဒီ ပေါင်းစပ်ထားတဲ့ Operators တွေဟာ တန်ဖိုးသတ်မှတ် ရုံသာမက အခြား ထပ်တိုး တန်ဖိုးတွေကိုလည်း စွမ်းဆောင်ပေးနိုင်ပါတယ်။ အဲဒီ Operators တွေကို လေ့လာကြည့်မယ်ဆိုရင် Arithmetic Operator နဲ့ Assignment Operator ကို ပေါင်းစပ်ထားတာ တွေ့ရမှာ ဖြစ်ပါတယ်။

<?php
          $foo = 2;
          $foo += 2; // New value is 4
          $foo -= 1; // New value is 3
          $foo *= 4; // New value is 12
          $foo /= 2; // New value is 6
          $foo %= 4; // New value is 2
?>

ဒီနေရာမှာ မှတ်စရာ တစ်ခုရှိပါတယ်။ PHP အနေနဲ့ တန်ဖိုးကိုသာ သတ်မှတ်ပေးတာ ဖြစ်ပါတယ်။ အော်ရီဂျင်နယ် Variable ရဲ့ တန်ဖိုးကို မထိခိုက်ပါဘူး။ ဥပမာ ကြည့်မယ်ဆိုရင်

<?php
	$foo = 2;
	$bar = $foo;

	echo $bar; // Outout: 2

	$foo += 4; // New value is 6

	echo $bar; // Output: 2
?>

အကယ်၍ ကိုယ့်အနေနဲ့ $bar ကို ပြောင်းတာနဲ့ $foo ကိုပါ တစ်ခါတည်း အပြန်အလှန် ပြောင်းစေချင်ရင် ( =& ) နဲ့ သုံးလို့ရပါတယ်။ အသေ သတ်မှတ်ထားတဲ့ တန်ဖိုးကို Script ထဲမှာ ပြန်ပြီး တန်ဖိုးပြောင်းချင်တဲ့အခါမှာ သုံးပါတယ်။ ဥပမာ အနေနဲ့ လူတစ်ယောက်ရဲ့ အခြေခံ အချက်အလက်တွေ သိမ်းထားတဲ့ Array တစ်ခု ရှိတယ်ဆိုပါတော့။ အဲဒီ အချက်အလက်ထဲမှာ အသက်ဆိုတာလည်း ပါနေတယ်။ အဲဒီအသက်ကို နဂိုသတ်မှတ်ထားတုန်းက ၂၃ နှစ်၊ အဲဒါကို တစ်နှစ်ကြီးချင်တယ်၊ နဂိုတန်ဖိုးကိုလည်း ပြင်ချင်တယ် ဆိုရင်

<?php

	$person = array(
		'name' => 'Jason',
		'age' => 23
	);

	$age =& $person['age'];

	// Output the array before doing anything

	print_r($person);

	// Birthday! Add a year!
	++$age;

	// Output the array again to see the change
	print_r($person);
?>

Output Result အနေနဲ့

Array ( [name] => Jason [age] => 23 ) Array ( [name] => Jason [age] => 24 )

ဆိုပြီး ထွက်လာပါလိမ့်မယ်။

Comparison Operators

နှိုင်းယှဉ်ခြင်းဆိုင်ရာ Operator တွေကိုတော့ တန်ဖိုးတွေရဲ့ တူညီမှုတွေကို တိုင်းတာတဲ့ နေရာမှာ သုံးပါတယ်။ အဲဒီလို Comparison Operator တွေက အင်မတန်အသုံးဝင်ပါတယ်။ တန်ဖိုးနှစ်ခု ကြားမှာ နှိုင်းယှဉ်ဖို့အတွက် အောက်ဖော်ပြပါ Operator တွေ သုံးလို့ရပါတယ်။

  • ( == ): တန်ဖိုးနှစ်ခု တူ
  • ( === ): တန်ဖိုးနှစ်ခု တစ်ထပ်တည်း ကျ
  • ( != or <> ): တန်ဖိုးနှစ်ခု မတူ
  • ( !== ): တန်ဖိုးနှစ်ခု တစ်ထပ်တည်း မကျ
  • ( > ): တန်ဖိုး (၁) သည် တန်ဖိုး (၂) ထက်ကြီးသည်
  • ( < ): တန်ဖိုး (၁) သည် တန်းဖိုး (၂) ထက်ငယ်သည်
  • ( <= ): တန်ဖိုး (၁) သည် တန်ဖိုး (၂) ထက်ငယ်သည် (သို့) တူသည်
  • ( >= ): တန်ဖိုး (၁) သည် တန်ဖိုး (၂) ထက်ကြီးသည် (သို့) တူသည်

ဒီနေရာမှာ မှတ်စရာ ရှိတာက ညီမျှတယ် ဆိုတာနဲ့ တစ်ထပ်တည်း ကျတယ်ဆိုတာ မတူပါဘူး။ ညီမျှတယ် ဆိုတာက တန်ဖိုးခြင်း ညီမညီသာ သိနိုင်ပါတယ်။ တစ်ထပ်တည်းကျတယ် ဆိုတာကတော့ Variable Type ပါ တူမတူ စစ်နိုင်ပါတယ်။ ဥပမာ – FALSE == 0 ဆိုရင် TRUE ဆိုတဲ့ တန်ဖိုးကို ပေးမှာ ဖြစ်ပေမယ့်၊ FALSE === 0 ဆိုရင်တော့ Variable Type မတူတဲ့အတွက် FALSE ဆိုပြီး ပြန်ပေးမှာ ဖြစ်ပါတယ်။

Error Control Operators

PHP အနေနဲ့ Error တွေကို မပြစေချင်တဲ့အခါ ( @ ) ဆိုတာလေး ထည့်ထားပေးလို့ရပါတယ်။ အဲဒီလို ထည့်ထားခြင်း အားဖြင့် Error Reporting Level ကို 0 ယာယီထားထားပါတယ်။ အဲဒီလို ထားထားခြင်း အားဖြင့် Error တက်လာတဲ့အခါ မပြအောင် စွမ်းဆောင်ထားနိုင်ပါတယ်။

ဥပမာ – ကိုယ့်က တကယ်မရှိတဲ့ ဖိုင်တစ်ခုကို ညွှန်းဆိုထားတယ် ဆိုပါစို့၊ (include_once ‘fakefile’; )အဲဒီအချိန်မှာ Error တွေ ပြလာပါလိမ့်မယ်။

Include Error

အဲဒီလို Error မျိုးတွေ မပြချင်ဘူးဆိုရင်

<?php
         #include_once 'fake_file';

         echo 'Text to follow the include.';
?>

Operator တွေကို Variable ရှေ့မှာထားတာကို Prepending လို့ ခေါ်ပါတယ်။ အဲဒီလိုရှေ့မှာ ထားခြင်း အားဖြင့် Operation ကို အရင်လုပ် ပြီးမှ Variable ကို Assign လုပ်ဆိုတဲ့ သဘောသက်ရောက် စေပြီး Operator တွေကို နောက်မှာ ထားတယ်ဆိုရင်တော့ Postpending လို့ ခေါ်ပါတယ်။ Variable ကို အရင် သတ်မှတ် နောက်မှ Operation လုပ်ဆိုတဲ့ သဘော သက်ရောက်စေပါတယ်။

အပေါ်မှာ ပြထားတဲ့ Program ကို Run ကြည့်မယ်ဆိုရင် Error ပြအောင် မလုပ်ထားတဲ့အတွက် Error Line မပါလာတော့တာ တွေ့ရပါလိမ့်မယ်။

ဒီနေရာမှာ မှတ်ရမှာက အဲဒီလို Error ဖျောက်တာကို အတတ်နိုင်ဆုံး မသုံးဖို့ပါ။ Error Escaping လုပ်တာထက် Error Catching လုပ်ပြီး ဖြေရှင်းဖို့ အရေးကြီးပါတယ်။ အဲဒီလိုမဟုတ်ပဲ Error Escaping တွေ လုပ်နေရင် ကိုယ့် Script မှာ မလိုလားအပ်တာတွေ ဖြစ်လာပါလိမ့်မယ်။

Incrementing / Decrementing Operators

တန်ဖိုးတိုးတဲ့ Operator တန်ဖိုးလျော့တဲ့ Operator တွေကလည်း အရေးပါပါတယ်။ နဂိုမူလ သတ်မှတ်ထားတဲ့ တန်ဖိုးတွေကို ကိုယ့်ရဲ့ Script ထဲမှာ တိုးမယ် လျော့မယ်ဆိုရင် PHP မှာ အလွယ်တကူ သုံးလို့ရပါတယ်။

တန်ဖိုးတစ်ခုထဲကို တစ်ပေါင်းမယ်ဆိုရင် (++) ဆိုတဲ့ Operator ကို Variable ရဲ့ ရှေ့မှာ ဖြစ်ဖြစ် နောက်မှာ ဖြစ်ဖြစ်ထားပြီး သုံးနိုင်ပါတယ်။ တန်ဖိုးထဲက တစ် နှုတ်မယ်ဆိုရင်လည်း ( — ) ဆိုတဲ့ Operator ကို Variable ရဲ့ ရှေ့မှာ ဖြစ်ဖြစ် နောက်မှာ ဖြစ်ဖြစ် ထားပြီး နှုတ်နိုင်ပါတယ်။ ရှေ့မှာ ထားတာနဲ့ နောက်မှာ ထားတာ ကွာခြားချက်ကတော့ အပေါ်မှာ ရှင်းပြခဲ့ပြီး ဖြစ်ပါတယ်။ Prepending နဲ့ Postpending ပါပဲ။

<?php
	$foo = 5;
	++$foo; // New value is 6
	$ff++; // New value is 7

	--$foo; // New value is 6
	$foo--; // New value is 5

	$bar = 4;

	// Echo a prepending value
	echo ++$bar; // Output is 5, new value is 5

	// Echo a postpending value
	echo $bar++; // Output is 5, New value is 6
?>

Logical Operator

ရွှေးချယ်ချင်းဆိုင်ရာ Operator တွေကိုတော့ လက်တွေ့ စမ်းသပ်ကြည့်မှ ထင်သာမြင်သာ ရှိမှာ ဖြစ်ပါတယ်။

AND or &&: နှစ်ဖက်လုံးက တူနေရင် TRUE ဆိုတဲ့ အဖြေပြန်ပေးမယ်၊

OR or || : နှစ်ဖက်လုံးမှာ တစ်ခုမဟုတ် တစ်ခု တူနေရင် TRUE ပြန်ပေးမယ်၊

XOR: တစ်ခုမှန်ပြီး တစ်ခုမှားမှ TRUE ပြန်ပေးမယ်၊

! : သူကတော့ စစ်ဆေးချက် မမှန်မှ TRUE ပေးမှာ ဖြစ်ပါတယ်။

စမ်းသပ်ကြည့်မယ်ဆိုရင်

<?php

	$foo = true;
	$bar = false;

	// Print the statement if $foo AND $bar are true
	if ($foo && $bar) {
		echo 'Both $foo and $bar are true. <br />';
	}

	// Print the statement if $foo OR $bar is true, but not both
	if ($foo || $bar) {
		echo 'At lease one of the variables is true. <br />';
	}

	// Print the statement if $foo OR $bar is true, but not both
	if ($foo xor $bar) {
		echo 'One variable is true, and one is false. <br />';
	}

	// Print the statement if $bar is NOT true
	if (!$bar) {
		echo '$bar is false. <br />';
	}

?>

Output အနေနဲ့

Outout 1

Script မှာ $bar = true လို့ ပြောင်းပြီး Script ကို ပြန် Run ကြည့်မယ်ဆိုရင်

Output 2

String Operators

String နဲ့ ပတ်သက်တဲ့ Operator နှစ်ခု PHP မှာ ရှိပါတယ်။ တစ်ခုက ( . ) နဲ့ နောက်တစ်ခုက ( .= ) ပါ။ ( . ) ကတော့ String နှစ်ခုကို ပေါင်းပြီး ဖော်ပြပေးနိုင်ပါတယ်။ နောက်တစ်ခု ( .= ) ကတော့ အရင် ရှိပြီးသား String ကို ထပ်ဖြည့် ပေါင်းထည့်ပေးပါတယ်။ နမူနာ ရေးကြည့်မယ် ဆိုရင်

<?php
	$foo = "Hello";

	$bar = $foo . " world! <br />";

	echo $bar; // Output: Hello World!

	$bar .= " And again!";

	echo $bar; // Output: Hello world! And again!
?>

Facebook comments:

4 Responses

  1. Goo Goo says:

    အစ်ကို ပြန်ရေးလိုက်တော့ ပိုပြည့်စုံသွားတာပေါ့… :) ကျေးဇူး…

    • phpcrazy says:

      ကျွန်တော် ရေးထားမှန်း မသိလိုက်ဘူးဗျာ၊ သေသေချာချာ မရှာမိတာပါ၊

  2. တော်တော်ကိုပြည့်ပြည့်စုံစုံးရှင်းထားတာပဲ နောက်ပြ့ိး PHP မှာသုံးတမျှ array ,operator,
    string . echo…..ect အကုန်ကိုရေးပေးတာထဲ့အတွက် ကျေးဇူးတင်ပါတယ် ဗျာ ကျနော်တို့ သင်တန်းကပြန်တာလိုက်ရင်ဆရာကိုမေးလို့မရတော့ဘူးဗျ အိမ်ကိုရောက်နေပြိလေ အကိုpost တွေင်္ကိုပဲဖတ်နေရတာ …. ညသခေါင်းကျော်လဲမေးလို့ရတယ် ဒိလေ..အရမ်းကိုပဲအကြိုးရှိပါတ.ယ်ဗျာ pHp နောင်တော်ကြိးပိသပါပေးတယ်…..ကျေးဇူးပဲ
    ကိုphpcrazy ရေးနောက်လဲရေးနိုင်ပါစေဗျာ

  3. mangyi says:

    hello
    can you help me to solve this php problem,?i have no idea to solve this problem
    this is Question
    You must make a PHP solution for a cash entrance to a amusmentpark. Following the facts do you have for your help. Adult costs 80$ (> 18 years) Youth 50$ (13 – 18 years), Children’s 30$ (7 – 12 years), Children under 7 are free. Exceed the costs more than 250:00, then the family price paid 200:00.
    how to make such a cash caculate php program combine with html?
    i hope you could solve this problem because you take a name PHP crazy :)
    thank in advance

Leave a comment


*