যারা বাংলাদেশের ৩৬ তম Zend Certified Engineer এবং এই সাইট (w3programmers) এর স্বত্বাধিকারী এবং লেখক Masud Alam স্যার এর কাছে কাছে সপ্তাহে ২ দিন ক্লাস, ৬ দিন প্রাকটিস করতে চান তাদের জন্য আগামী ১ February 2018 (বৃহস্পতি এবং শুক্রবার সন্ধ্যা ৬:০০ টা রাত ৯:০০ টা) থেকে শুরু হতে যাচ্ছে ৫ মাস ব্যাপী Professional Web Design & Development With HTML, CSS, JAVASCRIPT, JQUERY, PHP & MySQL for Beginners কোর্স (এই কোর্স টি যারা ফ্রিল্যান্সিং এবং আউটসোর্সিং কাজে আগ্রহী বিশেষ ভাবে তাদের জন্য design করা হয়েছে। ), আগামী ৪ February 2018 ( রবি এবং মঙ্গলবার সন্ধ্যা ৬:০০ টা থেকে রাত ৯:০০ টা ) থেকে শুরু হতে যাচ্ছে ৪ মাস ব্যাপী Zend Certified PHP 7.1 Engineering কোর্স। যেটা Advance PHP কোর্স নামে পরিচিত । এবং ৫ February 2018 (সোম এবং বুধবার সন্ধ্যা ৬:০০ টা থেকে রাত ৯:০০ টা) থেকে শুরু হতে যাচ্ছে ৪ মাস ব্যাপী Laravel 5.5 Professional Beginning to Advance Course কোর্স ।এই কোর্স গুলোতে তিনি ছাত্রদের কে সপ্তাহে ২ দিন ৩ ঘন্টা করে ৬ ঘন্টা ক্লাস নিবেন , এবং শনি থেকে বৃহস্পতি সপ্তাহে ৬ দিন ই স্যার এর অফিসে বসে প্রাকটিস করার সুযোগ দিবেন ! এতে প্রাকটিস করা কালীন ছাত্র-ছাত্রীরা কোনো সমস্যায় পড়লে তাৎক্ষণিক স্যার এর সহযোগিতা পাবে . (উল্লেখ্য: Training গুলো স্যার তার techbeeo software company'r পাশাপাশি পরিচালনা করে থাকেন।) কোর্স গুলো সম্পর্কে বিস্তারিত জানতে পারবেন এই লিংকে : Course Details .কোর্স গুলোর প্রত্যেকটির ফী নির্ধারণ করা হয়েছে ৩০,০০০ টাকা। আগ্রহীদেরকে অতিসত্বর মাসুদ আলম স্যার এর সাথে যোগাযোগ করার জন্য অনুরোধ করা যাচ্ছে। স্যার এর মোবাইল নম্বর : ০১৭২২ ৮১ ৭৫ ৯১

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

PHP Operators

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

What is 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)

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 টির চেয়ে multification (“*”) Operator টি বেশি অগ্রাধিকার প্রাপ্ত । এবার নিচের আরেকটি উদাহরণ লক্ষ্য করা যাক :

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

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

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

এই ক্যাটাগরির অন্যান্য পোস্ট:

Masud Alam
আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ৮ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। বিশেষ ভাবে বাংলাদেশের ১০০ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ৫২ জন ই আমার হাতে জেন্ড সার্টিফাইড হয়েছে। বর্তমানে TechBeeo Software Company তে সিইও হিসাবে আছি । পাশাপাশি w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -7 Engineering কোর্স করাই। আর w3programmers.com সাইট টি আমার।

Leave a Reply

Your email address will not be published. Required fields are marked *