PHP Operators পর্ব -১: PHP তে Operators কি?

PHP Operators

এই পর্বে আপনি PHP Operators সম্পর্কে যা জানতে পারবেন :

PHP তে Operators কি?

PHP অথবা যেকোনো Programming Language এ Operators হচ্ছে কতগুলো symbol যা PHP Interpreter কে কিছু নির্দিষ্ট mathematical, relational এবং logical সহ আরো অনেক ধরণের কার্য (operation) সম্পাদন করার নির্দেশনা পাঠায়। এবং নির্দেশনা অনুযায়ী PHP Interpreter সেই নির্দিষ্ট কাজের ফলাফল প্রদর্শন করে।

PHP Operators কত প্রকার? এবং কি কি ?

PHP তে Operator মূলত ১১ ধরণের, নিচে Operator গুলোর লিস্ট দেয়া হলো :

  • Arithmetic Operators বা গাণিতিক কাজের Operator: (+,-,*,/,%,**)
  • Assignment Operators বা PHP Variable এ যেকোনো মান (Value) সংরক্ষণের Operator : (=)
  • Bitwise Operators বা PHP তে Binary কাজের Operator :-(&,|,^,~,<<,>>)
  • Comparison Operators বা দুই বা ততোধিক Value এর মধ্যে তুলনা করার Operator :-(==,!=,===,!==,<,>,<=,>=,<>,<=>)
  • Error Control Operators বা Error প্রদর্শনে বাধা দেওয়ার Operator :-(@)
  • Execution Operators বা shell কমান্ডের মাধ্যমে PHP Code সম্পাদন করার Operator :- backticks (`)
  • Incrementing/Decrementing Operators বা 1 করে বৃদ্ধি বা কমানোর Operator:-(++,- -)
  • Logical Operators বা একাধিক অবস্থার বা condition এর উপর ভিত্তি করে সিদ্ধান্ত নেওয়ার Operator:-(&&,||,!,and,or,xor)
  • String Operators বা এক বা একাধিক string এর সাথে জোড়া লাগানোর Operator:-(.)
  • Array Operators বা এক বা একাধিক array কে বিভিন্ন রকমের compare, union করার operator:-(+,==,!=,===,!==,<>)
  • Type Operators বা কোনো একটা PHP Variable কোনো class এর Instance কিনা তা চেক করার operator:-(instanceof)

Zend Certified PHP Engineering (ZCPE) Course

PHP তে Operand কি ?

Operator এর দুই পাশে যেই সব variable অথবা value থাকে, PHP অথবা যেকোনো Programming Language এর পরিভাষায় একে Operand বলে। নিচের উদাহরণ থেকে বুঝে নেয়া যাক।

<?php
$a=5;
echo $a+5;
?>

এখানে plus sign (+) এর দুই পাশের যথাক্রমে $a এবং 5 এই দুইটা ই Operand আর plus sign (+) টি হচ্ছে Operator

Operator Precedence কি?

PHP অথবা যেকোনো Programming Language এ Operator Precedence হচ্ছে কিছু rules বা নিয়মের সমষ্টি যা দিয়ে প্রোগ্রামিং অথবা যে কোনো গাণিতিক কাজে কোন কাজটি আগে সম্পাদিত হবে তা নির্ধারিত হয়। নিচের উদাহরণ থেকে বুঝে নেয়া যাক।

<?php
echo 1 + 5 * 3; //Output 16 But why not 18?
?>

উপরের কোডের ফলাফল 18 না এসে 16 আসবে। এর মূল কারণ হচ্ছে, আমাদের এখানে ব্যবহৃত দুটি operator এর মধ্যে Operator Precedence Rules অনুযায়ী addition (“+”) Operator টির চেয়ে multiplication (“*”) Operator টি বেশি অগ্রাধিকার প্রাপ্ত । এবার নিচের আরেকটি উদাহরণ লক্ষ্য করা যাক :

<?php
echo (1 + 5) * 3; //Output 18 But why not 16?
?>

উপরের উদাহরণে Parentheses “()” Operator টি Multiplication “*” Operator এর চেয়ে বেশি অগ্রাধিকার প্রাপ্ত হওয়ায়, প্রথমে Parentheses এর মধ্যের addition এর কাজটি সম্পাদিত হয়। তারপর multiplication “*” এর কাজটি সম্পাদিত হয়।

https://blog.w3programmers.com/php-course/

Operator Associativity কি?

Operator Associativity হচ্ছে, PHP অথবা যেকোনো Programming Language এ parentheses অনুপস্থিতিতে একই Precedence এর Operator গুলোর মধ্যে কোন Operator টি অগ্রাধিকার প্রাপ্ত হবে তা নির্ধারণ করা।

PHP তে Operator Associativity কত প্রকার? এবং কি কি ?

PHP তে Operator Associativity দুই প্রকার :
১. Right to Left (অর্থাৎ: ডানদিকের Operator অগ্রগণ্য হবে। )
২. Left to Right (অর্থাৎ: বামদিকের Operator অগ্রগণ্য হবে। )

নিম্নে পিএইচপি Operator Precedence এর একটা তালিকা আছে । সবচেয়ে উপরের Operator টির অগ্রগন্যতা সবচেয়ে বেশি এভাবে এক এক করে নিচে যাবে। এই তালিকাটি মনে রাখা খুব জরুরী। তা না হলে বিভিন্ন Mathmetical এবং Programming এর সমস্যা সমাধান করতে গেলে কাঙ্খিত ফলাফল না ও পেতে পারেন।

Operator Precedence এর উপর ভিত্তি করে Operator গুলোকে ৯ টি ক্যাটাগরি তে করা হয়েছে :

Category এর নাম Operator এর নাম Associativity
Unary ! ++ — Right to left
Multiplicative * / % Left to right
Additive + – Left to right
Relational < <= > >= Left to right
Equality == != Left to right
Logical AND && Left to right
Logical OR || Left to right
Conditional ?: Right to left
Assignment = += -= *= /= %= Right to left

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

Leave a Reply