Возможный дубликат:
Есть ли одна цитата с преимуществами производительности против двойной цитаты в php?
Чем быстрее, одиночные или двойные кавычки и почему?
Кроме того, в чем преимущество использования любого из методов?
Возможный дубликат:
Есть ли одна цитата с преимуществами производительности против двойной цитаты в php?
Чем быстрее, одиночные или двойные кавычки и почему?
Кроме того, в чем преимущество использования любого из методов?
Зависит от того, что вы хотите сделать. Я просто сделал некоторые тесты и проверил назначение строк с 5 тестовыми примерами: двойные кавычки + переменная, двойные кавычки, двойные кавычки и добавление строки, одинарные кавычки и одинарные кавычки с добавлением строки.
Мой тестовый код. Миллион петель. Назначение строки.
<?php
$start = microtime(true);
$str = "";
for($i = 0; $i<1000000; $i++)
{
$str = "hello $i";
}
$end = microtime(true);
echo $end - $start;
Результаты:
Одиночные и двойные кавычки без переменных одинаково быстры. (каждый из них повторяется около 0,08). Строка с одиночной и двойной кавычками с конкатенацией переменных примерно одинакова, но медленнее, чем никакая переменная. (каждый эхо произносил вокруг .17-.20) Двойные кавычки с переменной в строке были самыми медленными (около .20-.25)
Таким образом, Single/Double действительно не имеет значения, но кажется, что конкатенация строк быстрее, чем замена переменных.
Я бы сказал, что одинарные кавычки быстрее, потому что они не требуют Shift;)
Различные кавычки имеют последствия для переменных выходных и escape-символов. Содержимое внутри одинарных кавычек принимается как есть, никакие управляющие символы и переменные не интерпретируются. Двойные кавычки интерпретируют значения переменных и выделяют специальные символы, такие как символы новой строки (\n
).
Вы обрабатываете 1000 строк в секунду? Если нет, вы не должны быть слишком обеспокоены.
Используйте двойные кавычки, если вы хотите использовать интерполяцию строк (с переменными, математикой и т.д.)
Вы также должны стараться быть последовательными.
Мы должны забыть о небольшой эффективности, скажем, около 97% времени: преждевременная оптимизация - корень всего зла.
Посмотрите на сравнение производительности двойных ( ") и одиночных (') кавычек для строк @ phpbench.
Заключение: "В современных версиях PHP похоже, что этот аргумент был удовлетворен по обе стороны линии. Позволяет всем объединиться в гармонии в этом!"
одинарная кавычка, как правило, быстрее, и все цитируемые внутри рассматриваются как простая строка,
как
echo 'anyting else ? $something';
>> anything else? $something
PHP не будет использовать дополнительную обработку для интерпретации того, что находится внутри одной кавычки
Однако, сравните с двойной кавычкой, PHP заменит значение $something своим назначенным значением
$something = 'yup';
echo "anyting else ? $something";
>> anything else ? yup
Что касается скорости, правильный ответ только , это не должно быть вашей проблемой вообще. Период. Разница, если вы ее даже найдете, вообще не имеет значения. Чтобы быть обеспокоенным скоростью, нужно понимать всю картину, а не один пиксель. Сделать приложение быстрее и эффективнее - это очень сложная задача. Но это невозможно, задавая вопросы "что быстрее". Если вы действительно обеспокоены этим, начните с изучения того, что такое профилирование.
Что касается преимуществ, страница руководства объясняет это лучшее место, чтобы изучить ее: http://php.net/types.string
Это не действительно преимущества, а скорее использование случаев.
Если обработка текста внутри не требуется, тогда сингл будет быстрее.