PHP переменная с кавычками внутри двойных кавычек

Вот так должно быть <offer id="935" available="true">

вот кусок кода $yml = "<offer id='" . $py['product_id'] . "' available=\"true\">" . $this->eol;

результат <offer id='935' available="true"> id в одинарных кавычках, а должно быть в двойных (


Ответы (2 шт):

Автор решения: Roman Grinyov

Вам нужно проэкранировать двойные кавычки, как вы сделали с available=\"true\":

$yml = "<offer id=\"" . $py['product_id'] . "\" available=\"true\">" . $this->eol;
→ Ссылка
Автор решения: Алексей Шиманский

На самом деле есть много вариантов для строки. Они все описаны в документации в разделе строки. Там описаны и варианты с HEREDOC/NOWDOC и с подстановкой переменных и с экранированием и различия одинарных кавычек от двойных и подстановка управляющих последовательностей в виде \n \t и т.д.

Я хотел было написать тут варианты решения, но подумал, что их будет очень много и проще будет прочитать именно раздел работы со строками, чем копировать 25 скроллов документации. Это намного полезнее

→ Ссылка