Правильное использование двойных и одинарных кавычек? - PullRequest
0 голосов
/ 11 марта 2010

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

<?php

echo "You are $yourAge years old";

?>

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

Кто-нибудь на самом деле имеет какую-либо информацию по этому вопросу? Возможно, тесты производительности или что-то еще?

Ответы [ 4 ]

2 голосов
/ 11 марта 2010

Согласно бенчмарку PHP , разница крайне незначительна:

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 голосов
/ 11 марта 2010

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

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

0 голосов
/ 11 марта 2010

http://www.phpbench.com/

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

0 голосов
/ 11 марта 2010

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

...