在 PHP 中,使用 sprintf
函数可以格式化字符串,它允许你定义输出字符串的格式。sprintf
函数的语法如下:
sprintf(format, [arg1 [, arg2 [, ...]]] )
其中 format
是格式化字符串,arg1, arg2, ...
是要插入到格式化字符串中的参数。
下面是一些使用 sprintf
的示例:
$name = "John";
$age = 30;
$message = sprintf("My name is %s and I am %d years old.", $name, $age);
echo $message; // 输出: My name is John and I am 30 years old.
$name = "John";
$age = 30;
$score = 85;
$message = sprintf("My name is %s, I am %d years old, and I scored %d in the exam.", $name, $age, $score);
echo $message; // 输出: My name is John, I am 30 years old, and I scored 85 in the exam.
$name = "John";
$age = 30;
$message = sprintf("My name is %1$s, I am %2$d years old.", $name, $age);
echo $message; // 输出: My name is John, I am 30 years old. 注意:数字的顺序与参数的顺序相反。
在上面的示例中,%1$s
表示第一个参数应该被转换为一个字符串,%2$d
表示第二个参数应该被转换为一个整数。数字表示参数的顺序。
$data = [
['John', 30],
['Jane', 28],
['Doe', 35]
];
$max_name_length = max(strlen($name) for $name in array_column($data, 0));
$max_age_length = max(strlen($age) for $age in array_column($data, 1));
foreach ($data as $entry) {
$message = sprintf("%-*s | %-*d", $max_name_length, $entry[0], $max_age_length, $entry[1]);
echo $message . PHP_EOL;
}
输出:
John | 30
Jane | 28
Doe | 35
注意:%-*s
和 %-*d
中的 -
表示左对齐,*
表示使用最小宽度,s
和 d
分别表示字符串和整数。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。