PHP vsprintf() συνάρτηση
Παράδειγμα
Γράψτε τη μορφοποιημένη αλφαριθμητική αλυσίδα σε μεταβλητή:
<?php $number = 9; $str = "Beijing"; $txt = vsprintf("Υπάρχουν 䦪τομμύρια ποδήλατα στο %s.", array($number, $str)); echo $txt; ?>
Ορισμός και χρήση
Η συνάρτηση vsprintf() γράφει τη μορφοποιημένη αλφαριθμητική αλυσίδα σε μεταβλητή.
Με διαφορετικό τρόπο από το sprintf(), οι παραμέτρους στο vsprintf() τις τοποθετούνται σε μια λίστα. Οι στοιχεία της λίστας θα εισάγονται στις θέσεις του χαρακτήρα (%) του κύριου 문자στοιχείου. Η συνάρτηση εκτελείται σταδιακά. Στη θέση του πρώτου %, εισάγεται το πρώτο στοιχείο της λίστας, στη θέση του δεύτερου %, εισάγεται το δεύτερο στοιχείο της λίστας, και ούτω καθεξής.
Σχόλια:Αν υπάρχουν περισσότεροι από έναν % arg Αν χρησιμοποιούνται παραμέτρους, πρέπει να χρησιμοποιηθούν ταμπέλες. Οι ταμπέλες εισάγονται μετά από το %, αποτελούνται από αριθμό και το "\$". Δείτε το παράδειγμα 2.
Συμβουλή:Συσχετιζόμενες συνάρτησεις:
Γλωσσική δομή
vsprintf(μορφοποίηση,argarray)
Παράμετροι | Περιγραφή |
---|---|
μορφοποίηση |
Απαιτείται. Καθορίζει την αλφαβητική αλυσίδα και τον τρόπο μορφοποίησης των μεταβλητών της. Πιθανές τιμές μορφοποίησης:
Προσθέτητες τιμές μορφοποίησης. Απαιτείται να τοποθετηθούν μεταξύ % και γραμμάτων (π.χ. %.2f):
Σχόλια:Αν χρησιμοποιούνται πολλαπλές μορφοποιητικές τιμές, πρέπει να χρησιμοποιούνται ακολουθώντας τη σειρά που αναφέρεται παραπάνω και δεν πρέπει να παραβιάζονται. |
argarray | Απαιτείται. Ένας πίνακας με παραμέτρους που θα εισαχθούν μορφοποίηση Στο σημείο % του αλφαβητικού |
Τεχνικά λεπτομέρειες
Αποτελεσματική τιμή: | Επιστρέφει τις τιμές του μαγνητίτη σε μορφή μορφοποιημένης αλφαβητικής αλυσίδας. |
Έκδοση PHP: | 4.1.0+ |
Περισσότερες παραδείγματα
Παράδειγμα 1
Χρήση τιμών μορφοποίησης %f:
<?php num1 = 123; num2 = 456; txt = vsprintf("%f%f",array($num1,$num2)); echo $txt; ?>
例子 2
使用占位符:
<?php $number = 123; $txt = vsprintf("有两位小数:%1\$.2f<br>没有小数:%1\$u",array($number)); echo $txt; ?>
例子 3
使用 sprintf() 来演示所有可能的格式值:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 字符 50 是 2 // 注释:格式值 "%%" 返回百分号 echo sprintf("%%b = %b",$num1)."<br>"; // 二进制数 echo sprintf("%%c = %c",$char)."<br>"; // ASCII 字符 echo sprintf("%%d = %d",$num1)."<br>"; // 带符号的十进制数 echo sprintf("%%d = %d",$num2)."<br>"; // 带符号的十进制数 echo sprintf("%%e = %e",$num1)."<br>"; // 科学计数法(小写) echo sprintf("%%E = %E",$num1)."<br>"; // 科学计数法(大写) echo sprintf("%鑾u",$num1)."<br>"; // 不带符号的十进制数(正) echo sprintf("%鑾u",$num2)."<br>"; // 不带符号的十进制数(负) echo sprintf("%%f = %f",$num1)."<br>"; // 浮点数(视本地设置) echo sprintf("%%F = %F",$num1)."<br>"; // 浮点数(不视本地设置) echo sprintf("%%g = %g",$num1)."<br>"; // 短于 %e 和 %f echo sprintf("%%G = %G",$num1)."<br>"; // 短于 %E 和 %f echo sprintf("%%o = %o",$num1)."<br>"; // 八进制数 echo sprintf("%%s = %s",$num1)."<br>"; // 字符串 echo sprintf("%%x = %x",$num1)."<br>"; // 十六进制数(小写) echo sprintf("%%X = %X",$num1)."<br>"; // 十六进制数(大写) echo sprintf("%%+d = %+d",$num1)."<br>"; // 符号说明符(正) echo sprintf("%%+d = %+d",$num2)."<br>"; // 符号说明符(负) ?>
例子 4
字符串说明符的演示:
<?php $str1 = "Hello"; $str2 = "Hello world!"; echo vsprintf("[%s]",array($str1))."<br>"; echo vsprintf("[%8s]",array($str1))."<br>"; echo vsprintf("[%-8s]",array($str1))."<br>"; echo vsprintf("[%08s]",array($str1))."<br>"; echo vsprintf("[%'*8s]",array($str1))."<br>"; echo vsprintf("[%8.8s]",array($str2))."<br>"; ?>