
Не секрет, что кавычки в php бывают одинарные и двойные. Давайте выясним, когда уместнее те или иные варианты использования кавычек.
Одинарные кавычки
Простейшим способом определить строку является — выделение текста в одинарные кавычки.
Если нам нужно использовать одинарную кавычку в тексте, то необходимо проэкранировать ее косой чертой (\).
Примеры использования одинарных кавычек:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php echo 'Это простая строка'; // Выводит: Это простая строка echo 'I\'am happy'; // Выводит: I'am happy echo 'Управляющие последовательности \n не работают'; // Выводит: Управляющие последовательности \n не работают echo 'Переменные не разворачиваются $example'; // Выводит: Переменные не разворачиваются $example ?> |
Двойные кавычки
Если выделить текст двойными кавычками, то строка будет определена также, как и одинарными. Но отличия у кавычек конечно же есть.
Ситуация с экранированием кавычек такая же, как и с одинарными кавычками.
Строка, которая заключена двойными кавычками — распознает большинство управляющих последовательностей для специальных символов.
Примеры использования двойных кавычек:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php echo "Это простая строка"; // Выведет: Это простая строка echo "I\'am happy"; // Выводит: I"am happy echo "Управляющие последовательности \n работают"; /* Выведет: Управляющие последовательности работают */ echo "Переменная $example"; // Выведет: Переменная подставится ?> |
Заострим внимание на том, что строки с двойными кавычками обрабатывают переменные.
Расчеты
На сайте ProfiPHP нашел интересные расчеты на данную тему. Автор написал простой скрипт, с помощью которого вычислял время на обработку строк:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php // Возвращаем метку времени в начале цикла $start = microtime( true ); // Создаем цикл цикл на 1 млн итераций for ( $i = 0; $i < 1000000; $i++ ) { $text = 'Здесь символьная строка'; } // Возвращаем метку времени по окончанию цикла $end = microtime( true ); // Вычисляем затраченное время $time = ( $end - $start ); // Выводим результат echo $time; ?> |
Далее вместо одинарных кавычек были вставлены двойные:
1 | $text = "Здесь символьная строка"; |
Но автор не остановился и проверил скорость загрузки про добавлении переменной:
1 | $text = $i.'Здесь символьная строка'; |
1 | $text = $i."Здесь символьная строка"; |
Вывод
Если мы используем простой текст без переменных, то наш выбор — одинарные кавычки. В частности их стоит указывать при объявлении переменных. Двойные кавычки стоит использовать, если в строке необходимо указать переменную. А самый лучший вариант: Пользоваться одинарными кавычками и конкатенцией, когда необходимо использовать переменные. В рамках одной операции выигрыш будет небольшой. Но если вы пишите целый проект, то стоит придерживаться правил, изложенных выше.