Php 在printf中使用echo显示出奇怪的行为。我很好奇

Php 在printf中使用echo显示出奇怪的行为。我很好奇,php,Php,我测试了以下代码: printf("I am %s.", 'cool'); Output: I am cool. 然后我又加了一句,用printf回音: echo printf("I am %s.",'cool'); Output: I am cool.10 这是什么?我改变了数值,这个带后缀的数字一直在改变。有人能告诉我这里发生了什么事吗?我只是好奇。这段代码是否有任何意义,或者这只是一个我应该忘记的奇怪行为?printf()按原样打印给定的字符串格式,并返回输出字符串的长度。这就是为

我测试了以下代码:

printf("I am %s.", 'cool');

Output: I am cool.
然后我又加了一句,用printf回音:

echo printf("I am %s.",'cool');

Output: I am cool.10
这是什么?我改变了数值,这个带后缀的数字一直在改变。有人能告诉我这里发生了什么事吗?我只是好奇。这段代码是否有任何意义,或者这只是一个我应该忘记的奇怪行为?

printf()
按原样打印给定的字符串格式,并返回输出字符串的长度。这就是为什么在使用带有printf函数的echo时会得到它的返回值。您可以使用
printf()
直接获得输出,希望您能得到答案


提示可能重复:计算字符串中的字符数,或者如果不想猜测,请阅读手册返回值