Precedence of Arithmetic operators
আমরা তো ছোটবেলা সবাই সরল অংক করেছিলাম, মনে আছে?
সে সরল অংকে যোগ , বিয়োগ , গুন , ভাগ ইত্যাদি অপারেটরের সমন্বয়ে বিশাল বিশাল রাশি থাকত। এই সব অংক করার কিছু বিশেষ নিয়ম ছিল , যেমন আগে গুনের কাজ তারপর যোগের কাজ তারপর বিয়োগের কাজ ইত্যাদি ইত্যাদি...।
PHP প্রোগ্রামিং language এ Arithmatic অপারেটরেও সেই একই ক্রমে আমাদের কে Arithmatic operation গুলি চালাতে হবে।
নিচে Arithmatic Operators এর Precedence এর তালিকা দেয়া হল।
অর্থাৎ Modulus (%) এর precedence বা গুরুত্ব সবচেয়ে বেশি এবং বিয়োগ ( - ) এর Precedence সব চেয়ে কম।
এই ব্যাপারগুলি আমরা সবাই জানি তবুও কাজ করার সময় অনেক confusion create কয়। এই confusion কে ঝেরে ফেলার জন্য আজ আমরা কিছু ছোট ছোট অংক করব।
চলুন শুরু করা যাক।
উদাহরন ১
উপরের precedence এর তালিকায় দেখা যাচ্ছে বিয়োগের চেয়ে গুন বা Multiplication এর Precedence বেশি তাই এখানে Multiplication এর Operation টা হবে আগে এবং বিয়োগের টা হবে পরে। শুতরাং বুজতেই পারছেন প্রথম পদ্ধতিটিই সঠিক এবং ২য় পদ্ধতিটি ভুল।
echo 10 * 5 - 6;
ফলাফল:
44
উদাহরন ২
আমরা জানি multiplication এর precedence সবচেয়ে বেশি তারপর যোগ তারপর বিয়োগ। তাহলে এর সমাধান হবে এমন।
10 * 5 - 6 + 2 - 8 * 21
= (10 * 5) - 6 + 2 - ( 8 * 21 )
= 50 - 6 + 2 - 168
= ( 50 + 2 ) - 6 -168
= 52 - 174
= -122
প্রোগ্রামে run করলে এই একই ফলাফল পাবেন।
echo 10 * 5 - 6 + 2 - 8 * 21;
ফলাফল:
-122
একই ভাবে
echo 10 * 5 - 6 + 2 - 8 * 21 * 45 - 7 % 21;
ফলাফল:
-7521
echo 6 % 4 + 5 - 78 * 45 - 48 / 54 * 64 + 478;
ফলাফল:
-3081.8888888889
আশা করি আজ থেকে আর কোন দিন Arithmatic mathmatical operation নিয়ে ঝামেলা বা confusion এ পরতে হবে না।