Кавычки в php

В этой статье я немного расскажу о казалось бы простом-о кавычках.

Кавычки бывают разные-одинарные( ' ),двойные( " ) и обратные( ` ).

В операторе include можно использовать двойные кавычки.А например в операторе count их использовать вообще не надо. Помню один мой знакомый начинающий прогер поместил массив в двойные кавычки и пытался после посчитать количество элементов в нём. Естественно-результатом всегда была единица, хотя в массиве было много элеметов.Будьте внимательны в своём коде.

 

include("parser.php");$stars=array('Солнце','Альдебаран','Альфацентавра');$cols=count($stars);

 

Строку в php можно держать как в одинарных, так и в двойных кавычках. Разница заключается лишь в том, что в двойных кавычках компилятор php будет искать переменные, а в одинарных нет. Что я имею ввиду:

 

$chislo=7589;$str='количество строк в таблице';$itog="$str = $chislo";echo $itog;//выведет количество строк в таблице = 7589

 

Также можно выносить переменные за кавычки и прикреплять их к строке оператором конкатенации. Тоесть использовать конкатенацию строк. Звучит сложно?wink На самом деле всё просто. Оператором конкатенации является обычная точка.

 

$chislo=7589;$str='количество строк в таблице';$itog=$str.' = '.$chislo;echo $itog;//выведет количество строк в таблице = 7589

 

Как видите кавычками я просто склеил строки.

Ещё кавычки можно экранировать. Например у нас есть строка в двойных кавычках и нам нужно выделить в ней слово кавычками.Например мы хотим видеть в браузере строку типа Я нахожусь на сайте "php-include.ru", тут здорово. Как мы поступим:

 

$str="Я нахожусь на сайте "php-include.ru", тут здорово.";//как видите код поломался...//экранируем кавычки:$str="Я нахожусь на сайте \"php-include.ru\", тут здорово.";//данная форма записи верна.Или используем одинарные кавычки$str="Я нахожусь на сайте 'php-include.ru', тут здорово.";//Или так:$str='Я нахожусь на сайте "php-include.ru", тут здорово.';

 

Последняя форма записи наиболее правильная. Потому, как php не ищет в строке переменные-следовательно код отработается быстрее. Но фанатеть от этого не надо. Говорить что остальные формы записи не верны-это всё равно что утверждать Сегодня я встал с левой ноги,и поэтому пришел на работу раньше, чем когда я вставал с правой.

Однако если вы работаете с большими объёмами данных-прирост скорости будет существенней. В пределах нескольких строк данный момент можно проигнорировать.

Обратные кавычки используются в MySQL запросах.Например:

$sql='select * from `table_name`';

 

Одинарные кавычки

Простейший способ определить строку - это заключить ее в одинарные кавычки (символ ').

Чтобы использовать одинарную кавычку внутри строки, проэкранируйте ее обратной косой чертой (\). Если необходимо написать саму обратную косую черту, продублируйте ее (\\). Все остальные случаи применения обратной косой черты будут интерпретированы как обычные символы: это означает, что если вы попытаетесь использовать другие управляющие последовательности, такие как \r или \n, они будут выведены как есть вместо какого-либо особого поведения.

Двойные кавычки

Если строка заключена в двойные кавычки ("), PHP распознает большее количество управляющих последовательностей для специальных символов:

Управляющие последовательности

Последовательность Значение

\n новая строка (LF или 0x0A (10) в ASCII)

\r возврат каретки (CR или 0x0D (13) в ASCII)

\t горизонтальная табуляция (HT или 0x09 (9) в ASCII)

\v вертикальная табуляция (VT или 0x0B (11) в ASCII) (с версии PHP 5.2.5)

\e escape-знак (ESC или 0x1B (27) в ASCII) (с версии PHP 5.4.0)

\f подача страницы (FF или 0x0C (12) в ASCII) (с версии PHP 5.2.5)

\\ обратная косая черта

\$ знак доллара

\" двойная кавычка

\[0-7]{1,3} последовательность символов, соответствующая регулярному выражению символа в восьмеричной системе счисления

\x[0-9A-Fa-f]{1,2} последовательность символов, соответствующая регулярному выражению символа в шестнадцатеричной системе счисления

Как и в строке, заключенной в одинарные кавычки, экранирование любого символа выведет также и саму обратную косую черту.