Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Одинарные или двойные кавычки?
Форумы портала PHP.SU » » Вопросы новичков » Одинарные или двойные кавычки?

Страниц (2): [1] 2 »
 

1. QDef - 09 Августа, 2011 - 15:42:01 - перейти к сообщению
Добрый день.
Как правильней ?

например для вывода текста, подойдут одинарные кавычки:


для вывода текста с подстановкой значения вместо переменной нужно использовать двойные кавычки:


PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. echo "It's $variable";
  4.  
  5. ?>



А как быть с аргументами функции ?

или
PHP:
скопировать код в буфер обмена
  1. echo date("H:m:s");
?

массивы
PHP:
скопировать код в буфер обмена
  1. $users['moderator'] = 'qwerty';

PHP:
скопировать код в буфер обмена
  1. $users["moderator"] = "qwerty";



на php.net используются два способа,но может есть какой-то стандарт? или может какой либо вариант лучше ?
2. illy - 09 Августа, 2011 - 16:22:42 - перейти к сообщению
По скорости лучше одинарные кавычки.
echo "It's $variable";
здесь быстрее выполнит echo 'It's '.$variable;
http://php[dot]spb[dot]ru/php/speed[dot]html
3. QDef - 09 Августа, 2011 - 17:04:14 - перейти к сообщению
Спасибо за статью. Жаль в одинарных кавычках нельзя использовать специальные символы для переноса строк,возврата каретки итд. Улыбка
4. illy - 09 Августа, 2011 - 17:07:21 - перейти к сообщению
Эт да нельзя.
Ну рад был помочь.
Обращайся если чё Ха-ха
5. OrmaJever - 09 Августа, 2011 - 17:40:19 - перейти к сообщению
двойные кавычки они так для удобства, если есть большой текст в котором много переменых.
6. filkeith - 10 Августа, 2011 - 11:03:50 - перейти к сообщению
QDef пишет:
Спасибо за статью. Жаль в одинарных кавычках нельзя использовать специальные символы для переноса строк,возврата каретки итд. Улыбка

если не ошибаюсь можно же сделать 'пум пурум<br>пам пум'
7. illy - 10 Августа, 2011 - 11:19:41 - перейти к сообщению
Цитата:
'пум пурум<br>пам пум'

Да можно и пум пурум и пам пум Ха-ха с переводом строки канешна
8. NVP - 11 Августа, 2011 - 15:29:21 - перейти к сообщению
Можно и 'пам пум<br>пум пурум'!
Радость
9. illy - 11 Августа, 2011 - 17:45:23 - перейти к сообщению
NVP пишет:
Можно и 'пам пум<br>пум пурум'!

Да действительно можно Улыбка
Не забывайте использовать правильно кавычки, чтоб прога поняла где текст, а где код

echo 'Результат: $s';
выведет Результат: $s

echo "Результат: $s";
выведет Результат: значение $s Язычок

echo "Результат: $s["m"]";
выведет ошибку
echo "Результат: $s['m']";
Вот это другое дело Ха-ха
10. QDef - 14 Августа, 2011 - 21:40:07 - перейти к сообщению
а как быть с SQL-запросами?
11. LIME - 14 Августа, 2011 - 21:47:29 - перейти к сообщению
illy пишет:
Не забывайте использовать правильно кавычки, чтоб прога поняла где текст, а где код
illy пишет:
здесь быстрее выполнит echo 'It's '.$variable;
без комментариев ))
(Добавление)
QDef пишет:
а как быть с SQL-запросами?
как с обычной строкой
формируется по темже правилам и отправляется для исполнения мускулу
12. QDef - 14 Августа, 2011 - 21:54:20 - перейти к сообщению
LIME пишет:
как с обычной строкой
формируется по темже правилам и отправляется для исполнения мускулу


PHP:
скопировать код в буфер обмена
  1. $sql = 'SELECT * FROM table WHERE name = '.mysql_real_escape_string($name).' AND id = 1';


так ?
13. LIME - 14 Августа, 2011 - 21:58:20 - перейти к сообщению
QDef нет
так
PHP:
скопировать код в буфер обмена
  1. $sql = 'SELECT * FROM table WHERE name = '.mysql_real_escape_string($name).' AND id = 1';

(Добавление)
правильно редактировали ))
14. QDef - 14 Августа, 2011 - 22:14:48 - перейти к сообщению
спасибо Улыбка просто где-то читал что значение по которому осуществляется выборка (в данном случае переменная $name) берется в кавычки что бы парсер не принял значение ($name) за таблицу. А если подставить ' - обозначает окончание строки (если конечно строка взята в одинарные кавычки).
15. LIME - 14 Августа, 2011 - 22:23:50 - перейти к сообщению
QDef аа...ну конечно надо в кавычки если значение текстовое
только это уже особенности мускула а не пхп
сори
PHP:
скопировать код в буфер обмена
  1. $sql = 'SELECT * FROM table WHERE name = "'.mysql_real_escape_string($name).'" AND id = 1';

(Добавление)
PHP:
скопировать код в буфер обмена
  1. $sql = 'SELECT * FROM table WHERE name =\' '.mysql_real_escape_string($name).'\' AND id = 1';
или вот так экранировать

 

Powered by ExBB FM 1.0 RC1