Возможный дубликат:
Есть ли выигрыш в производительности по одной цитате против двойной цитаты в 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) Двойные кавычки с переменной в строке были самыми медленными (около 0,20 – 0,25)
Таким образом, Single / Double действительно не имеет значения, но кажется, что конкатенация строк быстрее, чем замена переменных.
Я бы сказал, что одинарные кавычки быстрее, потому что они не требуют Shift 😉
Различные кавычки имеют последствия для переменных выходных и escape-символов. Содержимое внутри одинарных кавычек принимается как есть, никакие управляющие символы и переменные не интерпретируются. Двойные кавычки интерпретируют значения переменных и выделяют специальные символы, такие как новые строки ( \n
).
Вы обрабатываете 1000 строк в секунду? Если нет, вы не должны быть слишком обеспокоены.
Используйте двойные кавычки, если вы хотите использовать интерполяцию строк (с переменными, математикой и т. Д.),
Вы также должны стараться быть последовательными.
Мы должны забыть о небольшой эффективности, скажем, около 97% времени: преждевременная оптимизация – корень всего зла.
Дональд Кнут
Посмотрите на сравнение производительности двойных (") и одиночных (') котировок для строк @ phpbench .
Вывод: « В современных версиях PHP похоже, что этот аргумент был удовлетворен по обе стороны линии. Позволяет всем объединиться в гармонии в этом! »
одиночная кавычка, как правило, быстрее, и все цитируемые внутри рассматриваются как простая строка,
как
echo 'anyting else ? $something'; >> anything else? $something
-echo 'anyting else ? $something'; >> anything else? $something
PHP не будет использовать дополнительную обработку для интерпретации того, что находится внутри одной кавычки
Однако, сравните с двойной кавычкой, PHP заменит значение $ something, будет ли его назначенное значение
$something = 'yup'; echo "anyting else ? $something"; >> anything else ? yup
Что касается скорости, единственный правильный ответ – это не должно вас беспокоить . Период. Разница, если вы ее даже найдете, вообще не имеет значения. Чтобы быть обеспокоенным скоростью, нужно понимать всю картину, а не один пиксель. Сделать приложение быстрее и эффективнее – это очень сложная задача. Но это невозможно, задавая вопросы «что быстрее». Если вы действительно обеспокоены этим, начните с изучения того, что такое профилирование .
Что касается преимуществ, страница руководства объясняет это лучшее место, чтобы изучить ее: http://php.net/types.string
Однако это не преимущества, а скорее использование случаев.
Если обработка текста внутри не требуется, то один быстрее.