সংজ্ঞা এবং ব্যবহার
PHP-তে, ইন্টিজার (Integer) একটি স্কেলার ডেটা টাইপ যা একটি নামেরিক কনস্ট্যান্টকে রিপ্রেজেন্ট করে যেটিতে কোনো ফ্র্যাকশনাল পার্ট নেই। PHP ইন্টিজারকে ডেসিমাল, হেক্সাডেসিমাল, অক্টাল বা বাইনারি নাম্বার সিস্টেমে এক্সপ্রেস করার অনুমতি দেয় যথাযথ সিম্বল প্রিফিক্স করলে।
ডিফল্টভাবে ইন্টিজার ডেসিমাল নোটেশন ধরে নেওয়া হয়। হেক্সাডেসিমাল, অক্টাল এবং বাইনারি নাম্বার সিস্টেমের জন্য যথাক্রমে 0x, 0 এবং 0b সিম্বল প্রিফিক্স করা হয়।
সিনট্যাক্স
<?php // ইন্টিজার লিটারেল ভেরিয়েবলে অ্যাসাইনমেন্ট $var=232; // ডেসিমাল $var1=045; // অক্টাল $var2=0xB2; // হেক্সাডেসিমাল $var3=0b1001; // বাইনারি ?>
বেটার রিডেবিলিটির জন্য ইন্টিজার লিটারেলে _ সেপারেশন সিম্বল ব্যবহার করা যায়, যা PHP স্ক্যানার প্রসেসিংয়ের সময় অগ্রাহ্য করে।
<?php $var=55_467; // এটি 55467 হিসেবে বিবেচিত হবে ?>
PHP ভার্সন
সেপারেশন সিম্বল _ ব্যবহার PHP 7.4.0 থেকে উপলব্ধ।
নিচের উদাহরণে বিভিন্ন নোটেশনে ইন্টিজার লিটারেল রিপ্রেজেন্টেশন দেখানো হয়েছে—
উদাহরণ
<?php $var=10; echo "decimal : " .$var . "\n"; // অক্টাল নাম্বার $var1=010; echo "Octal: " . $var1 ."\n"; // হেক্সাডেসিমাল নাম্বার $var2=0x10; echo "hexadecimal : " . $var2 . "\n"; // বাইনারি নাম্বার $var3=0b10; echo "binary : " .$var3; ?>
আউটপুট
এটি নিচের ফলাফল দেবে—
decimal : 10 Octal: 8 hexadecimal : 16 binary : 2
এই উদাহরণে সেপারেশন সিম্বল ব্যবহার করা হয়েছে—
উদাহরণ
<?php $var=1_45_690; echo $var . "\n"; ?>
আউটপুট
এটি নিচের ফলাফল দেবে—
145690
যদি ইন্টিজার অ্যালোয়ড রেঞ্জের বাইরে চলে যায়, তবে এটি ফ্লোটিং পয়েন্টে কনভার্ট হয়—
উদাহরণ
<?php $var=PHP_INT_MAX+1; var_dump($var); ?>
আউটপুট
এটি নিচের ফলাফল দেবে—
float(9.2233720368548E+18)