gpt4 book ai didi

php - PHP 中 printf() 函数的用途是什么?

转载 作者:IT王子 更新时间:2023-10-29 00:11:34 26 4
gpt4 key购买 nike

这似乎是一个非常愚蠢的问题,但是在 PHP 中存在 printf() 函数的原因是什么?

在我看来,使用 echo 将获得完全相同的结果,如果您在一行上输出多个变量,您将不会感到困惑(是的,您可以使用 %1$s 而不是仅仅使用 %s,但它仍然会因为声明了几个变量而变得困惑)。

我知道您还可以定义变量的类型,而无需在输出字符串之前对其进行修改,但对我来说这似乎不足以保证创建一个函数。

也许我错了,也许我遗漏了一些明显的东西,但如果有人能帮助我理解它存在的原因(以便我知道我是否真的应该使用它!),我会很感激。谢谢。

最佳答案

echo 是语言结构,printf 是函数。这意味着您将无法像使用 printf 一样使用 echo

这不仅仅是个人品味

查看这两个函数的手册页:

这个主题在那里讨论,例如,你不能用变量函数调用echo。此外,他们获取和管理输入的方式也不同。如果您不需要 printf 提供的参数 FORMATTING,您应该使用 echo(速度稍快)。

例子

我再次强调一些关键词:formattingfunctionprintf 的使用不是连接字符串或从占位符构建字符串,而是使用自定义格式(可能来自配置、用户输入或其他任何内容)。

我写了一些代码来解释我的意思(原始来源在我发布的链接中)。

此代码无效,echo 不是函数,因此它不会返回打印值(您可以使用 printsprintf 为此,print 不提供字符串连接)。

($some_var) ? echo 'true' : echo 'false';

以下代码打印格式化字符串,在本例中格式来自文字变量,但它可能来自(例如)GET 请求或其他任何内容。你能用 echo 和从配置中获取的格式化字符串重写它吗?

%format = "%'.-15.15s%'.6.6s\n";
printf($format, $heading1, $value1);

关于php - PHP 中 printf() 函数的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10599405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com