আমার এই কোড আছে
$vad = 1.1;
print gettype($vad);
var_dump($vad);
এই আউটপুট হবে:
double
float(1.1)
সুতরাং এটি ডাবল বা পিএইচপি মধ্যে ভাসা?
আমার এই কোড আছে
$vad = 1.1;
print gettype($vad);
var_dump($vad);
এই আউটপুট হবে:
double
float(1.1)
সুতরাং এটি ডাবল বা পিএইচপি মধ্যে ভাসা?
উত্তর:
পিএইচপি-তে কোনও পার্থক্য নেই। float, doubleবা realএকই ডেটাটাইপ হয়।
সি স্তরে, সমস্ত কিছু হিসাবে সংরক্ষণ করা হয় double।
আসল আকারটি এখনও প্ল্যাটফর্ম নির্ভর।
আরও তথ্যের জন্য ম্যানুয়ালটি দেখুন:
http://www.php.net/manual/en/language.tyype.float.php
function some( float $num){}, যখন আমি some(17.23)এটি ব্যবহার করি মারাত্মক ত্রুটি ছুঁড়ে ফেলে কিছু () অবশ্যই
realপিএইচপি তে এখন পর্যন্ত এরকম কোনও ডেটাটাইপ নেই ।
is_realফাংশন রয়েছে যার সাথে একটি উপন্যাস রয়েছে is_float...; )
পিএইচপি জন্য, তারা একই। http://www.php.net/manual/en/language.tyype.float.php :
ফ্লোটিং পয়েন্ট নম্বর ("ফ্লোটস", "ডাবলস", বা "রিয়েল নাম্বার" নামেও পরিচিত) নীচের যেকোন সিনট্যাক্স ব্যবহার করে নির্দিষ্ট করা যেতে পারে: [...]
বিভ্রান্তিকর অংশটি হ'ল কেন গেটটাইপ (যা আপনার ব্যবহার করা উচিত নয়) "ভাসা" এর পরিবর্তে "ডাবল" ফিরিয়ে দেয়। উত্তরটি হ'ল http://de2.php.net/manual/en/function.gettype.php :
"ডাবল" (historicalতিহাসিক কারণে "ডাবল" ভাসমানের ক্ষেত্রে ফিরে আসে, কেবল "ভাসা" নয়)
উইন্ডোজে পিএইচপি 7.0.6 হিসাবে, xdebug ছাড়াই এই আদেশটি তুলনা করুন :
$ php -r 'var_dump(28.4);'
float(28.4)
এবং সঙ্গে xdebug:
$ php -r 'var_dump(28.4);'
Command line code:1:
double(28.4)
দ্রষ্টব্য যে এটি কেবলমাত্র var_dump () আউটপুট পরিবর্তন করে, তবে আসল মেমরি পরিচালনা নয়।
এটি অন্য কয়েকটি মেশিনে var_dump এর doubleপরিবর্তে আপনি কেন দেখছেন তা উদ্বেগের সমাধান করতে পারে float।
এছাড়াও, xdebug সহ বা ছাড়াই, gettypeএখনও ফিরে আসে string(6) "double"।
পিএইচপি 7.0.14 এ
function test(double $a) {
var_dump($a);
}
test(2.2111);
"মারাত্মক ত্রুটি: আনকচড টাইপ এরির: আর্গুমেন্ট 1 টি পরীক্ষায় উত্তীর্ণ হয়েছে () অবশ্যই ডাবল, ভাসা দেওয়া একটি উদাহরণ হতে হবে"।
function test(float $a) {
var_dump($a);
}
test(2.2111);
স্ক্রিনে 2.2111 মুদ্রণ করে।