কম্পিউটার

কেন php এর in_array একটি 0 পাস হলে সত্য ফিরে আসে?


ইন_অ্যারে সত্যে ফিরে আসার কারণ স্ট্রিং-টু-সংখ্যা রূপান্তর হতে পারে। যখন একটি স্ট্রিং ফাংশনে পাস করা হয়, তখন এটি 0 প্রদান করে, যা সেই মান যা অনুসন্ধান করা প্রয়োজন৷

পিএইচপি আলগা জাগলিং ব্যবহার করে, যেমন উপাদানগুলির তুলনা করার সময় ===এর পরিবর্তে ==ব্যবহার করে। তাই, তাদের মান তুলনা করা হয় এবং প্রকার নয়।

আরেকটি কারণ হল টাইপ জাগলিং, যার মানে কোডের প্রসঙ্গে একটি পরিবর্তনশীল টাইপ মোকাবেলা করা হয়।

উদাহরণস্বরূপ- যখন একটি ভেরিয়েবলের জন্য একটি ফ্লোট মান নির্ধারণ করা হয়, তখন এটি একটি ফ্লোটিং-পয়েন্ট মান হয়ে যায়। এটি এমনভাবে আচরণ করে যখন একটি স্ট্রিং একটি পূর্ণসংখ্যাতে কাস্ট করা হয়

এই ধরনের আচরণ এড়াতে, একটি তৃতীয় প্যারামিটার পাস করা যেতে পারে, যা একটি কঠোর মোডে ডেটা তুলনা করে, যেখানে মান এবং প্রকারের তুলনা করা হয়।

একটি স্ট্রিং পাস করার সময় ফাংশনটি কীভাবে আচরণ করে তা নিচে দেওয়া হল −

উদাহরণ

echo intval("Hello");

আউটপুট

এটি নিম্নলিখিত আউটপুট −

তৈরি করবে
0

  1. PHP-তে substr() ফাংশন

  2. PHP-তে substr_count() ফাংশন

  3. PHP-তে strtok() ফাংশন

  4. পিএইচপি-তে strstr() ফাংশন