উন্নত পিএইচপি ব্যবহারকারীদের জন্য এবং নিজেদের জিজ্ঞাসা করার মধ্যে ==
এবং তার মধ্যে পার্থক্যটি জেনে রাখা ===
" যখন আমি নিশ্চিত যে উভয় অপারেশন একই ধরণের হয় তবে তার ==
সাথে তুলনা করা কি তত দ্রুত ===
?"
সংক্ষিপ্ত এবং সাধারণ উত্তরটি হ'ল: এই ক্ষেত্রেগুলি ব্যবহারে কোনও কার্যকারিতা লাভ নেই ===
, সুতরাং আপনার সম্ভবত ব্যবহার করা উচিত ==
।
এটি নিজেরাই বেঞ্চমার্কিং করতে আগ্রহী ব্যক্তিদের জন্য, আপনি নীচের কোডটি অ্যাড-হক লিখেছেন এবং এর জন্য $a
এবং বিভিন্ন মানের জন্য চেষ্টা করতে পারেন $b
:
<?php
// CONFIGURATION
$cycles = 1000000;
$a = 'random string 1';
$b = 'random string 2';
// FUNCTIONS
function compare_two_equals($a, $b) {
if ($a == $b) {
return TRUE;
} else {
return FALSE;
}
}
function compare_three_equals($a, $b) {
if ($a === $b) {
return TRUE;
} else {
return FALSE;
}
}
// EXECUTION
$time = microtime(TRUE);
for ($count_a = 0; $count_a < $cycles; $count_a++) {
compare_two_equals($a, $b);
}
$time_two_a = microtime(TRUE) - $time;
$time = microtime(TRUE);
for ($count_a = 0; $count_a < $cycles; $count_a++) {
compare_three_equals($a, $b);
}
$time_three_a = microtime(TRUE) - $time;
$time = microtime(TRUE);
for ($count_a = 0; $count_a < $cycles; $count_a++) {
compare_two_equals($a, $b);
}
$time_two_b = microtime(TRUE) - $time;
$time = microtime(TRUE);
for ($count_a = 0; $count_a < $cycles; $count_a++) {
compare_three_equals($a, $b);
}
$time_three_b = microtime(TRUE) - $time;
$time = microtime(TRUE);
// RESULTS PRINTING
print "<br />\nCOMPARE == (FIRST TRY): " . number_format($time_two_a, 3) . " seconds";
print "<br />\nCOMPARE == (SECOND TRY): " . number_format($time_two_b, 3) . " seconds";
print "<br />\nCOMPARE === (FIRST TRY): " . number_format($time_three_a, 3) . " seconds";
print "<br />\nCOMPARE === (SECOND TRY): " . number_format($time_three_b, 3) . " seconds";
?>
দ্রষ্টব্য: তুলনাটি কেবল তখনই বৈধ হয় যখন প্রতিটি "প্রথম চেষ্টা" তার "সেকেন্ড ট্রাই" এর খুব কাছাকাছি থাকে। যদি সেগুলি উল্লেখযোগ্যভাবে পৃথক হয় তবে এর অর্থ হল যে তুলনামূলক সম্পাদন করার সময় প্রসেসর অন্য কিছু করতে ব্যস্ত ছিলেন এবং সুতরাং ফলাফলগুলি অবিশ্বস্ত হয় এবং বেঞ্চমার্কটি আবার চালানো উচিত।