[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Двойные и одинарные кавычки
SmorodinKA
Добрый день. Смотрю на разный код в сети интернет и не понимаю, почему в одних и тех же обстоятельствах кто-то ставит одинарные кавычки, кто-то двойные. Какое существенное отличие, если оно есть? И есть материал, где все правильно изложено по этому вопросу? Спасибо.
Arh
В двойных обрабатываются переменные и символы переноса.
В одинарных просто текст.

$name = 'Вася';
echo "Привет $name";
echo 'Привет '.$name;


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
Игорь_Vasinsky
что касаемо строковых значений - то это дело вкуса

echo 'слово';
echo "слово";


+ чтобы не допустить ошибки синтаксиса удобно использовать одни кавычки в других, например

echo "<script language='JavaScript'>";
echo '<script language="JavaScript">';


можно экранировать

echo '<script language=\'JavaScript\'>';
echo "<script language=\"JavaScript\">";


что касаемо переменных

 $var = 123;
echo $var.'<br>';
echo "$var<br>";
echo '$var<br>';


123
123
$var //Ойойоойойоойой


так что используем правильно конкатенацию
echo  $var.'<br>';


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
kaww
Цитата (Игорь_Vasinsky @ 16.10.2013 - 09:08)
так что используем правильно конкатенацию
echo  $var.'<br>';


Это не относится к теме, но все же, конкретно в этом случае конкатенация не нужна, т.к. это добавляет лишнюю инструкцию: сначала "склеить" строки, затем направить в стандартный вывод. Можно сэкономить:
echo  $var, '<br>';


А теперь по теме - http://php.net/manual/ru/language.types.string.php
Игорь_Vasinsky
kaww
дело привычки, микронаносекунды не важны

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Zzepish
Я юзаю апостровы, а не кавычки. Они снижают нагрузку
twin
Цитата (Zzepish @ 16.10.2013 - 13:02)
Я юзаю апостровы, а не кавычки. Они снижают нагрузку

Они снижают нагрузку на глаза, когда читаешь код. Для сервера это уже в пределах погрешности. Лет десять назад об этом стоило задумываться, не сейчас.

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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
GET
Добавлю кусочек :D

$a="$b и {$_SESSION['c']}";


_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
AlmazDelDiablo
А если о людском факторе, то двойные кавычки, часто, дело привычки людей, перешедших с языков, где 'a' — это char, а "a" — строка.

_____________
Блог | VK | GitHub | Twitch
Rand
Цитата (Zzepish @ 16.10.2013 - 19:02)
Я юзаю апостровы, а не кавычки. Они снижают нагрузку

По поводу скорости, есть распространенное заблуждение, что конкатенация всегда быстрее, чем парсинг строки, но это не совсем так. Скорость зависит от длины строки и от количества переменных. При большом количестве переменных конкатенация медленнее, а если между ними ещё есть текст, выглядит вообще сурово. В SQL запросах, например, я больше предпочитаю использовать двойные кавычки, т.к. читабельность в данном случае важнее экономии на спичках.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.