Можно ли отобразить переменную в одинарных кавычках?

Можно ли отображать в одинарных кавычках переменную?

пример

echo 'I love my $variable.';

Мне нужно сделать это, потому что у меня тоже есть много HTML-кода.

8

Решение

Вы должны либо использовать:

echo 'I love my ' . $variable . '.';

Этот метод добавляет переменную к строке.

Или вы можете использовать:

echo "I love my $variable.";

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

21

Другие решения

Если текста много, взгляните на синтаксис Heredoc.

$var = <<<EOT
<div style="">Some 'text' {$variable}</div>
EOT;
7

документация говорит:

Замечания: в отличие от двойные кавычки а также Heredoc синтаксисы, переменные и escape-последовательности для специальных символов не быть расширен, когда они встречаются в одинарных кавычках.

Так что ответ — нет, не таким образом.

Решение простое:

не echo HTML.

Пока вы не создаете как частичные представления или вещи , нет причин повторять HTML. Вместо этого вставьте PHP в HTML:

<div class="foo">
<span><?php echo $value; ?></span>
</div>

Преимущества:

  • Не нужно помнить экранирование кавычек.
  • Проще поддерживать HTML-код.

†: В этом случае heredoc [DOCS] наименее худшая альтернатива.

3

Нет. Переменные (и специальные символы) раскрываются только в строках, разделенных двойными кавычками. Если вы хотите включить переменную в строку, разделенную одинарными кавычками, вы должны вместо этого объединить ее:

echo 'I love my '.$variable.'.';

Вы также можете избежать двойных кавычек вашего HTML, если вы предпочитаете использовать строки, разделенные двойными кавычками:

echo "<a href=\"$url\">$text</a>";

Смотрите руководство по PHP на струнах, особенно часть на разбор строк, для дополнительной информации.

2

Нет. ' не будет анализировать переменные. использование

echo 'I love my '.$variable.'.';

или же

echo "I love my {$variable}. And I have \" some characters escaped";
0

не внутри строки, но вы можете выйти из строки и объединить переменную в.

echo 'I love my '.$variable.'.';

Другим вариантом будет просто избежать двойных кавычек.

echo "I love my \"$variable\".";

Или просто входите и выходите из php, чтобы отображать переменные (хотя и некрасиво).

I love my <?php echo $variable; ?>.
With short tags enabled, I love my <?=$variable?>.

Наконец, существует формат heredoc, который позволяет использовать как одинарные, так и двойные кавычки вместе с переменными.

echo <<<HTML
I love my $variable. '"...
HTML;
0

Взято с php.net:
«Примечание. В отличие от синтаксиса с двойными кавычками и heredoc, переменные и escape-последовательности для специальных символов не будут расширяться, если они встречаются в строках с одинарными кавычками».

Так что ответ — нет, ты не можешь. Но вы можете сделать это так:

echo 'I love my' . $variable . '.';

Так будет чище.

0

Помимо решений, упомянутых другими пользователями, таких как конкатенация строк, вы можете использовать заполнители следующим образом;

Обратите внимание, что% s для строки.

$variable = 'what ever';
printf('The $variable is %s', $variable);
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector