ОПРОС мнений по поводу ковычек в PHP я только начал и у меня вопрос. насколько важно следить за тем какие ковычки ставить . или можно везде ставть " . хотелось бы иметь правильный стиль. подскажите старички
Если хочешь чтобы переменные внутри строки интерпретировались - двойные, если нет - одинарные. Code: $t="123"; echo "Переменная $t"; => Переменная 123 echo 'Переменная $t'; => Переменная $t // с одинарными и использованием переменной echo 'Переменная '.$t; => Переменная 123 Больше не помню где это принципиально.
В двойных кавычках обрабатываются такие последовательности, как \n, \t, \r, \x41 и т.п. одинарных - нет. А вообще, советую почитать тут: http://ru2.php.net/language.types.string Всё подробно объясняется.
Я лично юзаю одинарные, ну кроме конечно \r\n\t и др (как сказано выше). Более того, переменные нужно выносить за кавычки (во всяком случае юзанье переменных в двойных кавычках считается не хорошим стилем). И SQL запросы ничем не особенные (это к посту #2). Там фишка в том, что данные следует вносить в кавычках (одинарных), поэтому чтобы их не экранировать весь запрос кидают в двойные. Вроде бы всё...
да бред. echo "some $line with $many $variables"; Просто многие нубы через склеивание делают, читаемость сильно ухудшается. По книгам Фленова учился?)) Правильно юзать то, что удобнее. P.S. интересно, как скоро прибежит неуч, который первым вякнет, что одинарные быстрее?)
PHP: echo "а я люблю вот так {$kak[16]} вот"; {} - выделяют переменную в строке, использую при вставке элемента массива
Слава богу не учился по этому сборнику страшилок) Ага, быстрее, знаешь почему?)) Потому что при использовании одинарных кавычек ты нажимаешь на букву Э в латинской раскладке, а при использовании двойных тебе приходится ещё и нажимать шифт (так же шифт + 2). И с этим нажатием на шифт ты теряешь драгоценное время (а знаешь сколько за год набегает времени?), а так же силы, которые уходят на нажатие шифта, и как следствие повышенная уставаемость, стрессы, депрессии, тошнота, недомогание, судороги, кома и летальный исход, так что юзайте одинарные кавычки
наоборот красиво. ИМХО красивее echo "ололо {$omg} привет" чем без скобок. еще случай тебе надо вывести строку "я-хакир" $xak = "хак"; в лучшем виде будет echo "я-{$xak}ир"; а вообще форматный вывод решает
Вариант с {} позволяет вставлять не только переменные, но и любые массивы или переменные из классов. PHP: echo "абвг {$var[1]['str']} {$xxx->blabla['qwerty']}"; Это очень удобно для вывода переменных с использованием heredoc-синтаксиса.
Можно все, вот только PHP: echo '[0] => '.$array[0]."\n"; И читабельно, и работает быстрее, чем вариации типа: PHP: echo "[0] => {$array[0]}\n";
Сделал скриптик для примера: PHP: <?php function getmicrotime() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } define(N, 1000000); for($i=0; $i<N; $i++) getmicrotime(); $str = ""; $array['a'] = 'efg'; $start = getmicrotime(); for($i=0; $i<N; $i++) $str = 'abcd '.$array['a'].' hij'; echo getmicrotime() - $start, "\n"; $str = ""; $array['a'] = 'efg'; $start = getmicrotime(); for($i=0; $i<N; $i++) $str = "abcd ".$array["a"]." hij"; echo getmicrotime() - $start, "\n"; $str = ""; $array['a'] = 'efg'; $start = getmicrotime(); for($i=0; $i<N; $i++) $str = "abcd {$array['a']} hij"; echo getmicrotime() - $start, "\n"; $str = ""; $array['a'] = 'efg'; $start = getmicrotime(); for($i=0; $i<N; $i++) $str = <<<HD abcd {$array['a']} hij HD; echo getmicrotime() - $start, "\n"; $str = ""; $array['a'] = 'efg'; $start = getmicrotime(); for($i=0; $i<N; $i++) $str = <<<HD abcd $array[a] hij HD; echo getmicrotime() - $start, "\n"; ?> Результаты:
Глупо так делать выводы. Как минимум, нужно произвести этот тест на нескольких машинах и не 1 раз. Также стоит выделить расчёт каждого варианта в отдельный скрипт. На моём сервере к примеру 2 вариант в 2 раза "быстрее" первого.