Разница между одинарными и двойными кавычками в PHP заключается в том, что двойные кавычки «интеллектуальны» в том смысле, что они будут анализировать переменные при чтении, в то время как одинарные кавычки «тупые» и не будут пытаться анализировать какой-либо символ в строке.
Это приводит к некоторым незначительным различиям в том, какие символы вы можете использовать; в основном, единственный символ, который вам нужно экранировать при использовании одинарных кавычек, — это сама одинарная кавычка:
'\''
Хотя, если вы используете двойные кавычки, вам нужно экранировать другие символы:
"\$"
Но это также позволяет использовать некоторые изящные вещи, такие как добавление новой строки в конец:
"my string\n"
С одинарными кавычками вам придется выполнить конкатенацию:
'my string' . chr(10)
'my string' . "\n"
Как правило, одинарные кавычки быстрее, потому что они «тупые».
Однако, как правило, не следует особо беспокоиться об этих проблемах, которые называются преждевременной оптимизацией, и их следует избегать.
Пару слов об оптимизации: вообще надо сначала написать программу так, как она должна работать, а потом найти самые большие узкие места и исправить именно их. Если скорость строк действительно является для вас проблемой в PHP, вы можете подумать о переходе на другой язык.
Что касается скорости: вы, вероятно, хотите больше сосредоточиться на использовании памяти, чем на процессорном времени. В этих случаях процессорное время можно считать довольно постоянным. Процессорное время более актуально при написании алгоритмов, которые будут повторяться много раз.
Что касается конкатенаций: чем больше вы объединяете строки с помощью оператора точки, тем больше памяти вы будете использовать.
Учти это:
$str1 = 'asdf';
$str2 = 'qwer';
// this will result in more memory being allocated for temporary storage
echo $str1 . $str2;
// this will not allocate as much memory as the previous example
echo $str1;
echo $str2;
person
thnee
schedule
23.07.2010