我正在看Webmonkey 的 PHP 和 MySql 教程,第 2 课。我认为这是一个php文字。是什么%s
意思?它print_f()
至少在前几个代码块中的 while 循环中的函数内部。
printf("<tr><td>%s %s</td><td>%s</td></tr>n", ...
我正在看Webmonkey 的 PHP 和 MySql 教程,第 2 课。我认为这是一个php文字。是什么%s
意思?它print_f()
至少在前几个代码块中的 while 循环中的函数内部。
printf("<tr><td>%s %s</td><td>%s</td></tr>n", ...
以 % 符号开头的 printf 或 sprintf 字符是占位符(或标记)。它们将被作为参数传递的变量替换。
例子:
$str1 = 'best';
$str2 = 'world';
$say = sprintf('Tivie is the %s in the %s!', $str1, $str2);
echo $say;
这将输出:
蒂维是世界上最好的!
注意:还有更多的占位符(%s 代表字符串,%d 代表十进制数,等等...)
命令:
传递参数的顺序很重要。如果您将 $str1 与 $str2 切换为
$say = sprintf('Tivie is the %s in the %s!', $str2, $str1);
它会打印
“蒂维是世界上最好的!”
但是,您可以像这样更改参数的阅读顺序:
$say = sprintf('Tivie is the %2$s in the %1$s!', $str2, $str1);
这将正确打印句子。
此外,请记住 PHP 是一种动态语言,不需要(或支持)显式类型定义。这意味着它会根据需要处理变量类型。在 sprint 中,这意味着如果您将“字符串”作为数字占位符 (%d) 的参数传递,该字符串将被转换为可能产生奇怪结果的数字 (int, float...)。这是一个例子:
$onevar = 2;
$anothervar = 'pocket';
$say = sprintf('I have %d chocolate(s) in my %d.', $onevar, $anothervar);
echo $say;
这将打印
我的 0 中有 2 块巧克力。
更多阅读PHPdocs
In printf
,%s
是将插入到字符串中的数据的占位符。额外的参数printf
是要插入的值。它们在位置上与占位符相关联:第一个占位符获得第一个值,第二个占位符获得第二个值,依此类推。
%s
是一个类型说明符,在%s
.
除了%s
您可以使用其他说明符之外,最受欢迎的如下:
d - 参数被视为整数,并显示为(有符号的)十进制数。
f - 参数被视为浮点数,并显示为浮点数(区域设置感知)。
s - 参数被视为并呈现为字符串。
$num = 5;
$location = 'tree';
$format = 'There are %d monkeys in the %s';
echo sprintf($format, $num, $location);
将输出:“树上有 5 只猴子。”
printf()
or函数将sprintf()
格式化的字符串写入变量。这是语法:
sprintf(format,arg1,arg2,arg++)
格式:
参数1:
参数2:
参数++:
示例 1:
$number = 9;
$str = "New York";
$txt = sprintf("There are approximately %u million people in %s.",$number,$str);
echo $txt;
这将输出:
大约有
9
百万人New York
。
arg1、arg2、arg++参数将插入到主字符串中的百分号 (%) 处。此功能“逐步”工作。在第一个 % 符号处插入 arg1,在第二个 % 符号处插入 arg2,以此类推。
注意:如果 % 符号多于参数,则必须使用占位符。在 % 符号之后插入一个占位符,由参数编号和“\$”组成。让我们看另一个例子:
示例 2
$number = 123;
$txt = sprintf("With 2 decimals: %1\$.2f
<br>With no decimals: %1\$u",$number);
echo $txt;
这将输出:
有 2 位小数:
123.00
没有小数:123
要记住的另一个重要提示是:
使用
printf()
andsprintf()
函数,转义字符不是反斜杠'\'而是'%'。IE。要打印 '%' 字符,您需要自行对其进行转义:
printf('%%%s%%', 'Nigeria Naira');
这将输出:
%尼日利亚奈拉%
随意探索官方PHP 文档