бенчмаркинг — PHP что быстрее {$ code} или. $ code?

Я не знаю, как я могу это проверить.

Что быстрее в PHP:

$test = "Text {$code}";

или же

$test = "Text ".$code;

?

0

Решение

В реальном мире вы никогда не заметите никакой разницы, так что не переживайте об этом 🙂

Маловероятно, что у вас возникнут какие-либо заметные проблемы со скоростью при любом из ваших вариантов, но позвольте мне все же объяснить различия и какое будет самое быстрое решение.

Когда вы используете двойные кавычки «как этот», php попытается вычислить любой текст в кавычках, поэтому вы можете использовать внутри него {$ code}, вы, конечно же, можете пропустить фигурные скобки и просто написать «Text $ code». «если нет чего-то более сложного, чем оцениваемая простая переменная.

Ваш второй пример, который я ожидаю, будет немного медленнее (у меня нет доказательств этого, но я полагаю, что мы могли бы написать простой тест для него, если потребуется). Поскольку он сначала пытается оценить строку, ТОГДА объединяя переменную со строкой, это отдельная операция.

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

Как это:

$test = 'Text ' . $code
2

Другие решения

Ваш первый вариант самый быстрый:

Тесты, работающие на PHP 5.2 и 5.3, показывают, что синтаксический анализ выполняется в двойных кавычках
строки с интерполяцией не медленнее (и часто быстрее), чем одиночные
строки в кавычках с использованием конкатенации. Когда простые строки без
переменные в них используются, производительность явно лучше с
строки в двойных кавычках из-за деталей реализации в движке.

Ссылка Вот

0