PHP 模板字符串
模板字符串是动态字符串。假设你有一个名称和任务列表,并且你希望将每个名称和任务名称一个一个地打印在一个字符串中。
你可以设置一个模板字符串,然后将列表一张一张打印出来。
Python 有一个内置函数 Template()
,它将带有变量的字符串转换为一个字符串。
让我们看看它是如何在 PHP 中完成的。
在 PHP 中使用 echo
关键字生成模板字符串
生成模板字符串最简单的方法是使用 php 关键字 echo
,我们可以将不同的变量放在字符串的任何位置并打印出来。
<?php
$name = "Jack";
$last_name= "Enfield";
$job = "Software Engineer";
$company = "Microsoft";
echo "Employee name is {$name} {$last_name}, he is a {$job} at {$company}.";
?>
上面的代码使用给定变量的 name
、last name
、job
和 company
生成一个模板字符串。
输出:
Employee name is Jack Enfield, he is a Software Engineer at Microsoft.
我们可以将变量放在具有多个值的数组中,并设置 foreach 循环和条件以打印具有不同值的多个模板字符串。
使用 PHP strstr()
生成模板字符串
PHP 有一个内置函数 strstr()
,它生成一个模板字符串。它有两个参数,一个是模板字符串,另一个是带值的数组。
<?php
$output_string = 'Employee name is $name $last_name, he is a $job at $company.';
$values = array( '$name' => 'Jack', '$last_name' => 'Enfield', '$job' => 'Software Engineer', '$company' => 'Microsoft');
echo strtr($output_string, $values);
?>
上面代码的输出将是包含数组值的字符串。
输出:
Employee name is Jack Enfield, he is a Software Engineer at Microsoft.
如果有多个员工的信息怎么办?在这种情况下,我们可以使用多维数组和 foreach 循环来生成多个字符串。
<?php
$output_string = 'Employee name is $name $last_name, he is a $job at $company.';
$values = array(
array( '$name' => 'Jack' , '$last_name' => 'Enfield' , '$job' => 'Software Engineer', '$company' => 'Microsoft'),
array( '$name' => 'Samuel', '$last_name' => 'Stevens', '$job' => 'Software Tester', '$company' => 'Apple'),
array( '$name' => 'Mike', '$last_name' => 'Geller', '$job' => 'Salesman', '$company' => 'Amazon'),
array( '$name' => 'John', '$last_name' => 'Clay', '$job' => 'Manager', '$company' => 'Merriot Hotels')
);
foreach($values as $val){
echo strtr($output_string, $val);
echo "<br>";
}
?>
输出:
Employee name is Jack Enfield, he is a Software Engineer at Microsoft.
Employee name is Samuel Stevens, he is a Software Tester at Apple.
Employee name is Mike Geller, he is a Salesman at Amazon.
Employee name is John Clay, he is a Manager at Merriot Hotels.
在 PHP 中使用 str_replace()
生成模板字符串
str_replace()
是另一个用于生成字符串的 PHP 内置函数。
它需要三个参数,第一个是要替换的值数组,第二个是值,第三个是模板字符串。
<?php
$pass = array('%name%', '%last_name%', '%job%', '%company%' );
$value = array('Jack', 'Enfield', 'Software Engineer', 'Microsoft');
echo str_replace($pass, $value, "Employee name is %name% %last_name%, he is a %job% at %company%.");
?>
str_replace()
会将带有%%
的值替换为给定的值,并从给定的模板字符串生成一个字符串。
输出:
Employee name is Jack Enfield, he is a Software Engineer at Microsoft.
在 PHP 中创建我们的函数以生成模板字符串
我们还可以创建生成模板字符串的函数。
<?php
$template = function ($values) {
extract($values);
return "Employee name is $name $last_name, he is a $job at $company.";
};
$values = array( 'name' => 'Jack', 'last_name' => 'Enfield', 'job' => 'Software Engineer', 'company' => 'Microsoft');
//No $ in the values array because extract function will itself detect values for variables.
echo $template($values);
?>
模板函数将首先从数组中提取值,然后返回一个字符串。
输出:
Employee name is Jack Enfield, he is a Software Engineer at Microsoft.
相关文章
如何在 PHP 中获取时间差的分钟数
发布时间:2023/03/29 浏览次数:183 分类:PHP
-
本文介绍了如何在 PHP 中获取时间差的分钟数,包括 date_diff()函数和数学公式。它包括 date_diff()函数和数学公式。