Jadual Kandungan
回复讨论(解决方案)
Rumah pembangunan bahagian belakang tutorial php 函数sprintf()作用是什么

函数sprintf()作用是什么

Jun 23, 2016 pm 01:59 PM

我的PHP手册中sprintf()的说明全是英文,我看不懂。有没有大侠能把该函数的作用(尤其是参数format)详细地说一下?


回复讨论(解决方案)

请 google 翻译了一下
% - 文字百分号。没有参数??是必需的。
b - 该参数被视为一个整数,并作为一个二进制数。
c - 接收参数被视为一个整数,并作为字符与ASCII值。
d - 该参数被视为一个整数,作为一个(符号)十进制数。
e - 该参数被视为科学记数法(比如1.5e +3 ) 。
u - 该参数被视为一个整数,并作为一个无符号十进制数。
f - 该参数被视为浮点,以及作为一个浮点数(语言环境感知) 。
F - 该参数被视为浮点,以及作为一个浮点数(非语言环境感知) 。从PHP 4.3.10和PHP 5.0.3 。
o - 该参数被视为一个整数,并作为一个八进制数。
s - 该参数被视为并作为一个字符串。
x - 将参数被视为一个整数,作为一个十六进制数(小写字母) 。
X- 将参数被视为一个整数,作为一个十六进制数(用大写字母) 。

例:
echo sprintf('%b %c %d %u %e %f %F %o %s %x %X', 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65);
1000001 A 65 65 6.500000e+1 65.000000 65.000000 101 65 41 41

是不是只有浮点型才会有“%.2f”的参数format?

是的
%.2f 表示按 2 位小数格式化

整数自然是没有小数的

sprintf() 函数把格式化的字符串写写入一个变量中。
sprintf(format,arg1,arg2,arg++)
参数
format 必需。转换格式。
arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2 可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。

<?php$str = "Hello";$number = 123;$txt = sprintf("%s world. Day number %u",$str,$number);echo $txt;?>
Salin selepas log masuk

输出:
Hello world. Day number 123

还有没有其他人补充了?

还有什么好补充的?
1. sprintf是 格式化输出,也就是按照你要的格式输出,类似模板

2. 与print不同,sprintf并不会直接打印到屏幕,因此你可以用它给变量赋值。如 $s = sprintf(..................);

w3school里sprintf()部分的一句话:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符插到 % 符号后面,由数字和 "\$" 组成。
上面这句话中的数字是指的什么?

这是 php 特有的一个方式,使用的并不多(他给的例子已经说得很清楚了)
这是正常的写法

$a = 123;$b = 1111;$txt = sprintf("%.2f  %u",$a, $b);echo $txt;
Salin selepas log masuk
123.00 1111
当写作
$txt = sprintf("%2\$.2f  %1\$u",$a, $b);echo $txt;
Salin selepas log masuk
1111.00  123
可以看到对应位置的值发生了变化
于是可知:数字表示的是参数的序号

非常感谢,结帖。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

11 skrip pemendek URL terbaik PHP (percuma dan premium) 11 skrip pemendek URL terbaik PHP (percuma dan premium) Mar 03, 2025 am 10:49 AM

11 skrip pemendek URL terbaik PHP (percuma dan premium)

Bekerja dengan Data Sesi Flash di Laravel Bekerja dengan Data Sesi Flash di Laravel Mar 12, 2025 pm 05:08 PM

Bekerja dengan Data Sesi Flash di Laravel

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React Mar 04, 2025 am 09:33 AM

Bina aplikasi React dengan hujung belakang Laravel: Bahagian 2, React

Respons HTTP yang dipermudahkan dalam ujian Laravel Respons HTTP yang dipermudahkan dalam ujian Laravel Mar 12, 2025 pm 05:09 PM

Respons HTTP yang dipermudahkan dalam ujian Laravel

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST Mar 14, 2025 am 11:42 AM

Curl dalam PHP: Cara Menggunakan Pelanjutan PHP Curl dalam API REST

12 skrip sembang php terbaik di codecanyon 12 skrip sembang php terbaik di codecanyon Mar 13, 2025 pm 12:08 PM

12 skrip sembang php terbaik di codecanyon

Pengumuman Penyiasatan Situasi PHP 2025 Pengumuman Penyiasatan Situasi PHP 2025 Mar 03, 2025 pm 04:20 PM

Pengumuman Penyiasatan Situasi PHP 2025

Pemberitahuan di Laravel Pemberitahuan di Laravel Mar 04, 2025 am 09:22 AM

Pemberitahuan di Laravel

See all articles