روز برنامه‌نویس مبارک 🤩🎉 از هدایای روز برنامه‌نویس جا نمونی ⌛
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ همایون
حالت بهینه چاپ String همراه با Array
محسن موحد حل شده توسط محسن موحد

سلام. کدوم یک از کد‌های زیر بهینه تره؟ وقتی می‌خوایم مقدار یه Array رو با یک String چاپ کنیم. Concatenation بهتره یا با {} داخل Double Quote

$str = array('alex', 'pedro');
echo "User Name: {$str[0]}";
$str = array('alex', 'pedro');
echo 'User Name: ' . $str[0];

درود

کد پایینی، چون از تک کوتیشن استفاده میکنید. کامپایلر php دابل کوتیشن هارو کامل بررسی میکنه تا ببینه داخل کاراکتر خاصی وجود داره که اعمال کنه یا ن، مثلا همون متغیری که داخل دابل کوتیشن گذاشتید. اما برای تک کوتیشن اینجوری نیست و بررسی روش اعمال نمیشه

امیر صالحی ۱۶ شهریور ۱۴۰۰، ۱۴:۳۷

سلام.

در کل بین دابل کوت و سینگل کوت از لحاظ سرعت، تفاوت خاصی وجود نداره که حتی در بعضی از بنچمارک‌ها کد ساده ی (متغیر مساوی یک سینگل کوت خالی) زمانش چند میکروثانیه بیشتر از دابل کوت شده است.

ولی در مجموع double quote و single quote خیلی نزدیک به هم هستن در بعضی مواقع در یک تست یکسان میتونه یکی از دیگری چند میکرو ثانیه بیشتر بشه. خواستید تست بگیرید، میتونید از تابع microtime استفاده کنید.(ابتدا و انتهای کد بذارید)

 

در مورد سرعت اینها در ورژن‌های مختلف، بخاطر مکانیسم انجین zend، نسخه ی های۷ به بالا و ۷ به پایین، نسخه‌های پایین ۷ یعنی ۵.۶ به قبل، سرعت پایینتری نسبت به نسخه‌های ۷ به بالا دارن بین نسخه‌های ۷ و ۷.۱ و ۷.۲ و ۷.۳ و ۷.۴ اختلاف خاصی دیده نمیشه ولی در نسخه ی ۸ نسبت به نسخه‌های قبلی سرعت تفسیر کدها بیشتر شده است.

بهترین پاسخ
محسن موحد ۱۸ شهریور ۱۴۰۰، ۱۳:۰۲