Я новичок в PHP, поэтому, пожалуйста, извините за вопрос.
Мне было интересно, есть ли в PHP функция строкового формата, такая как функция f-строк в Python, а не str.format ().Я видел несколько постов, касающихся этой темы, но большинство примеров, принятых в качестве ответов, относятся к более старому способу работы Python с отформатированными строками str.format()
.В моем случае я хотел бы создать переменную, используя форматированную строку, например (Python):
f_name = "John"
l_name = "Smith"
sample = f`{f_name}'s last name is {l_name}.`
print(sample)
Я знаю, что могу использовать (PHP):
$num = 5;
$location = 'tree';
$format = 'There are %d monkeys in the %s';
echo sprintf($format, $num, $location);
, но что еслиЯ хочу использовать $format
в качестве переменной?Основная идея состоит в том, чтобы создать динамическую переменную, основанную на других переменных, например:
$db_type = $settings['db_type']; # mysql
$db_host = $settings['db_host']; # localhost
$db_name = $settings['db_name']; # sample
var $format = "%s:host=%s; dbname=%s";
# Not sure what to do after that, but I can use string concatenation:
var $format = $db_type + ":host=" + $db_host + "; dbname=" + $db_name;
var $connection = new PDO($format, $db_user, $db_password);
ПРИМЕЧАНИЕ. Я знаю, что есть несколько способов выполнить конкатенацию строк в соответствии с документацией PHP, однако я не былсмог найти что-нибудь подобное.