%S 在 PHP、HTML 或 XML 中是什么意思?
2022-08-30 12:52:12
我正在看Webmonkey的PHP和MySql教程,第2课。我认为这是一个php字面意思。这是什么意思?它位于函数内部,至少在前几个代码块中循环。%s
print_f()
printf("<tr><td>%s %s</td><td>%s</td></tr>n", ...
我正在看Webmonkey的PHP和MySql教程,第2课。我认为这是一个php字面意思。这是什么意思?它位于函数内部,至少在前几个代码块中循环。%s
print_f()
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 表示 dec 数字等)
次序:
传递参数的顺序计数。如果将 $str 1 与 $str 2 切换为
$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