PHP中的printf函数

PHP中的printf函数,php,Php,我有C语言背景,了解printf函数的基本知识 我遇到了以下代码 <?php printf('%4$d %2$s code for %3$3.2f %1$s', "hours", "coders", 9, 99); ?> 有谁能帮助我理解对printf函数的调用。$表示使用第n个参数,而不是在格式化规范中的任何位置。$表示使用第n个参数,printf函数的第一个参数是一个字符串,它使用其他参数进行更改: %4d-取逗号后的第4项,并将其视为十进制数 %2$s-将逗号后的第二项作为字

我有C语言背景,了解printf函数的基本知识

我遇到了以下代码

<?php
printf('%4$d %2$s code for %3$3.2f %1$s', "hours", "coders", 9, 99);
?>

有谁能帮助我理解对printf函数的调用。

$表示使用第n个参数,而不是在格式化规范中的任何位置。

$表示使用第n个参数,printf函数的第一个参数是一个字符串,它使用其他参数进行更改:

%4d-取逗号后的第4项,并将其视为十进制数 %2$s-将逗号后的第二项作为字符串处理 %3$3.2f-取逗号后的第三个itam,并将其视为小数点后两位的浮点数 %1$s-取逗号后的第一项,并将其视为字符串
printf函数的第一个参数是使用其他参数更改的字符串:

%4d-取逗号后的第4项,并将其视为十进制数 %2$s-将逗号后的第二项作为字符串处理 %3$3.2f-取逗号后的第三个itam,并将其视为小数点后两位的浮点数 %1$s-取逗号后的第一项,并将其视为字符串
伊格纳西奥的回答是正确的

如果您使用的是gettext for I18N,那么这个特性的一个非常有用的应用程序。一种语言和另一种语言之间的替换顺序可能会发生变化。不过,如果您在对gettext的调用中包装内容,那么您将使用sprintf


我在一个现实世界的例子上画了一个空白,我想我不会说足够的自然语言。

Ignacio的答案是正确的

如果您使用的是gettext for I18N,那么这个特性的一个非常有用的应用程序。一种语言和另一种语言之间的替换顺序可能会发生变化。不过,如果您在对gettext的调用中包装内容,那么您将使用sprintf


我对一个真实的例子一无所知,我想我不会说足够的自然语言。

不确定困难是什么,因为手册中有很好的说明:


第一个参数是格式掩码,后续参数是要插入格式掩码的值。掩蔽规则与中的相同。就像在C中一样,输出直接发送到标准输出,但不确定困难是什么,因为手册中有很好的记录:


第一个参数是格式掩码,后续参数是要插入格式掩码的值。掩蔽规则与中的相同。就像在C中一样,输出直接发送到标准输出,我认为有些混乱可能是代码中的错误:
%3$3.2f应该改为%3$.2f,但它无论如何都可以工作。

我认为一些混淆可能是代码中的错误:
%3$3.2f应该改为%3$.2f,但它无论如何都能工作。

参考格式记录在参考格式中。参考格式记录在我们将于[星期五]与Wir gehen[am Freitag]Miteinader[ins Kino]去[电影]。我们将于[星期五]与Wir gehen[am Freitag]Miteinader[ins Kino]去[电影]。
99 coders code for 9.00 hours