我的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;?>
输出:
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;123.00 1111
当写作
$txt = sprintf("%2\$.2f %1\$u",$a, $b);echo $txt;1111.00 123
可以看到对应位置的值发生了变化
于是可知:数字表示的是参数的序号
非常感谢,结帖。

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1
好用且免費的程式碼編輯器

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版