gpt4 book ai didi

php - printf 和 sprintf 有不同的输出

转载 作者:行者123 更新时间:2023-12-01 21:51:03 25 4
gpt4 key购买 nike

我编写了以下小型 php 程序来测试 printfsprintf:

<?php
$str_1 = printf("%x%x%x", 65, 127, 245);
$str_2 = sprintf("%x%x%x", 65, 127, 245);

echo $str_1 . "\n";
echo $str_2 . "\n";

输出是这样的:

417ff56
417ff5

为什么输出的第一行有 6 位数字?

最佳答案

printf不返回字符串,它直接输出它(并且仅返回其长度)。试试这个

<?php
printf("%x%x%x", 65, 127, 245);
$str_2 = sprintf("%x%x%x", 65, 127, 245);
echo "\n". $str_2 . "\n";
?>

输出

417ff5
417ff5

<强> Fiddle

现在您可能会问为什么(在您的输出中)有额外的 6?因为 printf 返回打印字符串的长度,在您的情况下为 6。

事情是这样的

417ff56            // that extra 6 comes from your first echo.
417ff5

关于php - printf 和 sprintf 有不同的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27120684/

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