توابع vsprintf() PHP
مثال
رشتههای فرمتشده را به متغیرها مینویسد:
<?php $number = 9; $str = "Beijing"; $txt = vsprintf("There are 쥕lion bicycles in %s.",array($number,$str)); echo $txt; ?>
تعریف و استفاده
توابع vsprintf() رشتههای فرمتشده را به متغیرها مینویسد.
جسد sprintf() مختلف، پارامترهای vsprintf() در یک آرایه قرار دارند. عناصر آرایه به جایگاه علامت درصد (%) در رشته اصلی اضافه میشوند. این تابع به صورت مرحلهای اجرا میشود. در اولین علامت %، اولین عنصر آرایه اضافه میشود، در دومین علامت %، دومین عنصر آرایه اضافه میشود و به همین ترتیب.
تعليق:إذا كانت علامة % أكثر من arg إذا كانت لديك معاملات،يجب أن تستخدم العلامات المرجعية. يتم إدراج العلامات المرجعية بعد علامة %،مكونة من رقم و $\n. انظر مثال 2.
نصيحة:الوظائف ذات الصلة:
النحو
vsprintf(format,argarray)
معاملات | وصف |
---|---|
format |
مطلوب. يحدد النص وكيفية format المعلمات الخاصة به قيمات format المحتملة:
قيمات format الإضافية. يجب وضعها بين % والكتابة الحروف (مثل %.2f):
تعليق:إذا كنت تستخدم العديد من القيم الم formatية المذكورة أعلاه، يجب أن تستخدمها في الترتيب المذكور أعلاه وليس من الممكن مزجها |
argarray | مطلوب. مصفوفة تحتوي على معاملات، والتي سيتم تضمينها format في علامة % في النص |
تفاصيل تقنية
القيمة المعدة: | يعود بالنسبة لقيم جدول البيانات بشكل نص منتهي بفواصل |
إصدار 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>"; ?>