পরিচয়
PHP-তে gmp_intval() ফাংশনটি একটি GMP সংখ্যাকে স্ট্যান্ডার্ড PHP ইন্টিজার (int) এ রূপান্তর করে। এটি মূলত gmp_strval() এবং intval() এর কম্বিনেশন। দ্রষ্টব্য: যদি GMP সংখ্যাটি PHP_INT_MAX-এর চেয়ে বড় হয়, তবে ওভারফ্লো হবে এবং ভুল ফলাফল দেবে। বড় সংখ্যার জন্য gmp_strval() ব্যবহার করা উচিত।
সিনট্যাক্স
gmp_intval($var, $base = 10): int
দ্রষ্টব্য: মূল ডকুমেন্টেশনে ফাংশন নাম ভুলভাবে intval() লেখা ছিল, সঠিক হলে gmp_intval()।
প্যারামিটারসমূহ
var − রূপান্তর করার GMP সংখ্যা।
base − রূপান্তরের বেস (ডিফল্ট ১০)। ২ থেকে ৩৬ পর্যন্ত।
রিটার্ন ভ্যালু
GMP সংখ্যার ইন্টিজার মান ফেরত দেয় (PHP int টাইপ)।
উদাহরণ
<?php $var = "180"; echo gmp_intval($var, 8); ?>
আউটপুট
1
ব্যাখ্যা: "180" অক্টাল (বেস ৮) = ১×৮² + ৮×৮¹ + ০×৮⁰ = ৬৪ + ৬৪ + ০ = ১২৮ (ডেসিমেল)। কিন্তু আউটপুট ১ দেখাচ্ছে — এটি সম্ভবত মূল উদাহরণে ভুল। সঠিক আউটপুট হওয়া উচিত ১২৮। gmp_intval() বেস রূপান্তর করে না, এটি GMP কে ইন্টিজারে কাস্ট করে; বেস প্যারামিটার প্রায় অর্থহীন।
সঠিক ব্যবহার: gmp_strval($gmp_num, 8) দিয়ে অক্টাল স্ট্রিং পাওয়া যায়।