PHP 7.0 এবং তার পরবর্তী সংস্করণে intdiv() ফাংশনটি পরিচিত হয়েছে, যা দুটি পূর্ণসংখ্যার (integer) ভাগফল প্রদান করার জন্য ব্যবহৃত হয়। এটি integer division বা পূর্ণসংখ্যা ভাগফল হিসেবেই কাজ করে, অর্থাৎ এটি ভাগফলের দশমিক অংশ বাদ দিয়ে শুধুমাত্র পূর্ণসংখ্যা অংশ প্রদান করে।
intdiv() ফাংশন
intdiv() ফাংশনটি দুটি পূর্ণসংখ্যাকে ভাগ করে এবং তার ফলস্বরূপ পূর্ণসংখ্যা রিটার্ন করে, কোনো দশমিক অংশ ছাড়াই।
সিস্ট্যাক্স:
int intdiv(int $dividend, int $divisor)$dividend: ভাগফল এর জন্য প্রথম পূর্ণসংখ্যা (ভাগ করা মান)$divisor: ভাগ করার জন্য দ্বিতীয় পূর্ণসংখ্যা (ভাগকৃত মান)
রিটার্ন ভ্যালু:
এটি দুটি পূর্ণসংখ্যার মধ্যে ভাগফল প্রদান করে, কিন্তু দশমিক অংশ বাদ দিয়ে শুধুমাত্র পূর্ণসংখ্যা রিটার্ন করে।
উদাহরণ:
১. সাধারণ intdiv() ব্যবহার:
<?php
$dividend = 10;
$divisor = 3;
$result = intdiv($dividend, $divisor);
echo $result; // আউটপুট হবে: 3
?>এখানে, 10 কে 3 দিয়ে ভাগ করলে যে ফলাফল আসবে তা হবে 3.3333..., কিন্তু intdiv() ফাংশনটি কেবল পূর্ণসংখ্যা অংশ (3) রিটার্ন করবে এবং দশমিক অংশ বাদ দেবে।
২. নেতিবাচক সংখ্যার জন্য intdiv() ব্যবহার:
<?php
$dividend = -10;
$divisor = 3;
$result = intdiv($dividend, $divisor);
echo $result; // আউটপুট হবে: -4
?>এখানে, -10 কে 3 দিয়ে ভাগ করলে, সাধারণত ভাগফল হবে -3.3333...। কিন্তু intdiv() ফাংশনটি ফ্লোরিং মান অনুযায়ী সম্পন্ন করে, অর্থাৎ নেতিবাচক ভাগফলে আউটপুট একটি ছোট পূর্ণসংখ্যা হবে, তাই এখানে ফলাফল হবে -4।
৩. শূন্য দিয়ে ভাগ করার সময় intdiv() ব্যবহার:
<?php
$dividend = 10;
$divisor = 0;
try {
$result = intdiv($dividend, $divisor);
echo $result;
} catch (DivisionByZeroError $e) {
echo "Error: " . $e->getMessage(); // আউটপুট হবে: Error: Division by zero
}
?>এখানে, intdiv() ফাংশনটি শূন্য দিয়ে ভাগ করার চেষ্টা করলে একটি DivisionByZeroError ছুড়ে দেবে, যা আপনি try-catch ব্লকের মাধ্যমে হ্যান্ডল করতে পারবেন।
intdiv() এবং floored division এর মধ্যে পার্থক্য
intdiv() ফাংশনটি floored division পদ্ধতি অনুসরণ করে। এর মানে হল যে, যদি ভাগফল নেতিবাচক হয়, তবে এটি নিম্নমুখীভাবে পূর্ণসংখ্যা আউটপুট করে, যেমন -
<?php
echo intdiv(-7, 3); // আউটপুট: -3
?>এটি সাধারণত ফ্লোরিং বিভাগ বলা হয়, যেখানে -2.333... রাউন্ড করে -3 করা হয়।
অন্যদিকে, সাধারণ integer division এর ক্ষেত্রে আপনি বিভিন্ন ভাগফল পদ্ধতি অনুসরণ করতে পারেন, তবে intdiv() সুনির্দিষ্টভাবে ফ্লোরিং পদ্ধতি অনুসরণ করে।
সারসংক্ষেপ
PHP তে intdiv() ফাংশনটি integer division সম্পাদনের জন্য একটি সহজ এবং শক্তিশালী পদ্ধতি। এটি দুটি পূর্ণসংখ্যার মধ্যে ভাগফল প্রদান করে এবং শুধুমাত্র পূর্ণসংখ্যা অংশ রিটার্ন করে, দশমিক অংশ বাদ দেয়। এটি ফ্লোরিং পদ্ধতি অনুসরণ করে, যেখানে নেতিবাচক সংখ্যার ক্ষেত্রে আউটপুট আরও ছোট পূর্ণসংখ্যা হয়। intdiv() ফাংশনটি শূন্য দিয়ে ভাগ করার চেষ্টা করলে একটি DivisionByZeroError ছুড়ে দেয়, যা হ্যান্ডল করতে try-catch ব্লক ব্যবহার করা যায়।