PHP: переменные в строках без конкатенации - PullRequest
10 голосов
/ 12 августа 2011

Если в этой строке есть переменная $ var: echo "Hello, there are many $vars";

Php ищет variable $vars вместо $var.

Без конкатенации, например: "Hello, there are many $var" . "s";
Есть ли другой способ сделать это, например, какой-нибудь экранирующий персонаж?

Ответы [ 4 ]

26 голосов
/ 12 августа 2011

В php вы можете экранировать переменные, такие как

echo "Hello, ${var}'s head is big";

или как

echo "Hello, {$var}'s head is big";

Ссылка здесь под секцией escape-символа

4 голосов
/ 12 августа 2011

Вы можете использовать {} для правильного экранирования вашей переменной. Рассмотрим следующий пример:

echo "There are many ${var}s"; #Or...
echo "There are many {$var}s";

Рабочий пример

1 голос
/ 12 августа 2011

В качестве альтернативы вы можете посмотреть на sprintf: http://php.net/manual/en/function.sprintf.php

Функция sprintf позволяет форматировать переменные любого типа в виде строки в определенной записи.

1 голос
/ 12 августа 2011

Лично я всегда делю переменные из строки следующим образом: echo 'Hello, there are many '.$var.'s';

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

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