2010-03-11 2 views
0

Я говорю об увеличении производительности здесь. Из всего я знаю, что вы можете повторить переменные в двойных кавычках ("), например так:Правильное использование двойных и одинарных кавычек?

<?php 

echo "You are $yourAge years old"; 

?> 

Но одиночные кавычки просто возвращают You are $yourAge years old. Но как насчет различий в производительности? Я всегда придерживался правила, что одинарные кавычки быстрее, потому что интерпретатору PHP не нужно искать строку для переменных. Но я вижу все больше и больше сообщений в блогах и форумах в Интернете, говорящих по-разному.

У кого-нибудь есть информация на эту тему? Возможно, контрольные тесты или что-то еще?

+1

Одиночные кавычки быстрее, потому что интерпретатору не нужно сканировать переменные. Не жертвуйте удобочитаемостью и понятностью вашего кода для минимальных улучшений производительности. –

+3

Не пытайтесь делать микро оптимизации. Есть, безусловно, другие части, которые можно оптимизировать, прежде чем думать о различии в производительности объявлений строк. – Gumbo

ответ

2

Согласно PHP Benchmark, разница очень незначительна:

single (') quotes. 20 bytes Text and 3x a $ : $tmp[] = 'aa $ aaaa $ aaaa $ a' 
235 µs 

double (") quotes. 20 bytes Text and 3x a $ : $tmp[] = "aa $ aaaa $ aaaa $ a"; 
226 µs 

Даже если различия были мультипликатор, что они есть, они не будут иметь значение для выполнения реальной жизни ИМО. Операции с базами данных и файлами будут занимать десятки, если не сотни раз больше времени. Это не значит, что ваш вопрос не совсем прав, но при оптимизации вашего кода это не очень важно.

Считываемость - это гораздо важнее.

0

Я не тестировал его сам. Я читал, что одинарные кавычки быстрее из таких мест, как http://phpbench.com. На самом деле, сегодня я прочитал в PHP Best Practices, что двойные кавычки на самом деле быстрее считают, что они не предоставляют никаких источников: - /.

+0

Это точно один из сообщений в блоге, которые я видел. – Phox

0

http://www.phpbench.com/

Тесты, приведенные здесь, являются довольно интересными, информативными, и ответить на ваш вопрос.

0

The PHP Benchmark сайт не показывает большой разницы (второй тест снизу) между ними вообще. Я имею в виду, это очень немного быстрее, но вряд ли вам нужно беспокоиться, я уверен.

Если вы беспокоитесь о производительности вашего сайта, вам будет гораздо лучше выглядеть, чем принимать микросекунды от ваших запросов на печать.

+0

А, спасибо. Отличный сайт. Если честно, если прирост производительности не меньше, чем он говорит, я бы просто хотел, чтобы мой код был более читабельным и красивым, чем беспокоиться об этом: P Мне хотелось бы знать, как это быстрее. – Phox

Смежные вопросы