পিএইচপি ওয়েব অনুরোধগুলির সাথে ব্যবহারের জন্য (বা পরিবর্তে বিবর্তিত) নকশা করা হয়েছিল, যেখানে আপনি প্রায়শই স্ট্রিং ইনপুট (ইউআরএল প্যারামিটার, বা ব্রাউজারের কোনও ফর্মের পোস্টের অনুরোধগুলি) নিয়ে ডিল করছেন। যেমনটি, এটি স্বয়ংক্রিয়ভাবে অন্যান্য ধরণের স্ট্রিংগুলি ফেলে দেয়।
এই একটি সহজ উদাহরণ যে '1' + '2'
দেয় 3
, কোনো ত্রুটি, বা '12
', অথবা অন্য কোনো ব্যাখ্যা। একই যুক্তি দ্বারা, স্ট্রিংটি '0'
একটি সংখ্যা হিসাবে ব্যবহার করা যেতে পারে 0
।
এদিকে, অনেক ভাষার মতো, পিএইচপি কিছুটা মানকে "মিথ্যা" হিসাবে বিবেচনা করে যখন বুলিয়ান সম্পর্কে কাস্ট করা হয় - যেগুলি আপনি যেমন বলেন তেমন স্বজ্ঞাত "খালি" থাকে। এর মধ্যে সংখ্যাযুক্ত 0
পাশাপাশি খালি স্ট্রিং ''
এবং খালি অ্যারে অন্তর্ভুক্ত রয়েছে []
। একটি ইন if
বিবৃতি প্রকাশের স্পষ্টভাবে, বুলিয়ান কাস্ট তাই if ( 0 )
হিসাবে একই if ( false )
।
এই দুটি জিনিস একসাথে রেখে, আপনি একটি ধাঁধা পান: একদিকে যেমন আপনি বলেছেন '0'
একটি খালি খালি স্ট্রিং; অন্যদিকে, আমরা বলেছি যে এটি একটি সংখ্যা হিসাবে ব্যবহৃত হতে পারে 0
, যা "খালি"। পিএইচপি '0'
"স্ট্রিংনেস" এর চেয়ে "শূন্য-নেস" কে আরও গুরুত্বপূর্ণ হিসাবে বিবেচনা করে , তাই এটিকে "ফালসি" বলে মনে করা হয়।
সংক্ষেপে '0' == 0 == false
:; অথবা(bool)'0' === (bool)(int)'0'