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

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

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
QDef
Отправлено: 09 Августа, 2011 - 15:42:01
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Дек. 2010  


Помог: 1 раз(а)




Добрый день.
Как правильней ?

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


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


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



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

или ?

массивы



на php.net используются два способа,но может есть какой-то стандарт? или может какой либо вариант лучше ?

(Отредактировано автором: 09 Августа, 2011 - 15:42:58)

 
 Top
illy
Отправлено: 09 Августа, 2011 - 16:22:42
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




По скорости лучше одинарные кавычки.
echo "It's $variable";
здесь быстрее выполнит echo 'It's '.$variable;
http://php[dot]spb[dot]ru/php/speed[dot]html

(Отредактировано автором: 09 Августа, 2011 - 16:23:29)



-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
QDef
Отправлено: 09 Августа, 2011 - 17:04:14
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Дек. 2010  


Помог: 1 раз(а)




Спасибо за статью. Жаль в одинарных кавычках нельзя использовать специальные символы для переноса строк,возврата каретки итд. Улыбка

(Отредактировано автором: 09 Августа, 2011 - 17:04:32)

 
 Top
illy
Отправлено: 09 Августа, 2011 - 17:07:21
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Эт да нельзя.
Ну рад был помочь.
Обращайся если чё Ха-ха


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
OrmaJever Модератор
Отправлено: 09 Августа, 2011 - 17:40:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




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


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
filkeith
Отправлено: 10 Августа, 2011 - 11:03:50
Post Id



Гость


Покинул форум
Сообщений всего: 112
Дата рег-ции: Июль 2011  


Помог: 2 раз(а)




QDef пишет:
Спасибо за статью. Жаль в одинарных кавычках нельзя использовать специальные символы для переноса строк,возврата каретки итд. Улыбка

если не ошибаюсь можно же сделать 'пум пурум<br>пам пум'
 
 Top
illy
Отправлено: 10 Августа, 2011 - 11:19:41
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




Цитата:
'пум пурум<br>пам пум'

Да можно и пум пурум и пам пум Ха-ха с переводом строки канешна


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
NVP
Отправлено: 11 Августа, 2011 - 15:29:21
Post Id



Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Авг. 2011  


Помог: 0 раз(а)




Можно и 'пам пум<br>пум пурум'!
Радость
 
 Top
illy
Отправлено: 11 Августа, 2011 - 17:45:23
Post Id



Участник


Покинул форум
Сообщений всего: 1117
Дата рег-ции: Июль 2011  
Откуда: от верблюда)


Помог: 28 раз(а)




NVP пишет:
Можно и 'пам пум<br>пум пурум'!

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

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

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

echo "Результат: $s["m"]";
выведет ошибку
echo "Результат: $s['m']";
Вот это другое дело Ха-ха


-----
Всё гениальное - просто
И ещё проще, если ты - индиго
 
 Top
QDef
Отправлено: 14 Августа, 2011 - 21:40:07
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Дек. 2010  


Помог: 1 раз(а)




а как быть с SQL-запросами?
 
 Top
LIME
Отправлено: 14 Августа, 2011 - 21:47:29
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




illy пишет:
Не забывайте использовать правильно кавычки, чтоб прога поняла где текст, а где код
illy пишет:
здесь быстрее выполнит echo 'It's '.$variable;
без комментариев ))
(Добавление)
QDef пишет:
а как быть с SQL-запросами?
как с обычной строкой
формируется по темже правилам и отправляется для исполнения мускулу
 
 Top
QDef
Отправлено: 14 Августа, 2011 - 21:54:20
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Дек. 2010  


Помог: 1 раз(а)




LIME пишет:
как с обычной строкой
формируется по темже правилам и отправляется для исполнения мускулу


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


так ?

(Отредактировано автором: 14 Августа, 2011 - 21:58:16)

 
 Top
LIME
Отправлено: 14 Августа, 2011 - 21:58:20
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




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

(Добавление)
правильно редактировали ))
 
 Top
QDef
Отправлено: 14 Августа, 2011 - 22:14:48
Post Id


Гость


Покинул форум
Сообщений всего: 78
Дата рег-ции: Дек. 2010  


Помог: 1 раз(а)




спасибо Улыбка просто где-то читал что значение по которому осуществляется выборка (в данном случае переменная $name) берется в кавычки что бы парсер не принял значение ($name) за таблицу. А если подставить ' - обозначает окончание строки (если конечно строка взята в одинарные кавычки).

(Отредактировано автором: 14 Августа, 2011 - 22:16:46)

 
 Top
LIME
Отправлено: 14 Августа, 2011 - 22:23:50
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




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';
или вот так экранировать
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB