استبدل علامة النسبة المئوية (%) بمتغير تم تمريره كمعلمة:
<?php $number = 9 ; $str = " CODERCTO " ; $txt = sprintf ( " % s يزورها %u مليون شخص كل يوم! " , $str , $number ) ; $ تكست ? >مخرجات التنفيذ هي كما يلي:
CODERCTO 每天有9 万人在访问!
تقوم الدالة sprintf() بكتابة سلسلة منسقة في متغير.
سيتم إدراج المعلمات arg1 وarg2 و++ في السلسلة الرئيسية عند رمز علامة النسبة المئوية (%). يتم تنفيذ هذه الوظيفة خطوة بخطوة. عند علامة % الأولى، أدخل arg1، وعند علامة % الثانية، أدخل arg2، وهكذا.
ملاحظة: إذا كان هناك رموز % أكثر من معلمات arg، فيجب عليك استخدام العناصر النائبة. يتم إدراج العنصر النائب بعد الرمز % ويتكون من رقم و"$". انظر المثال 2.
نصيحة: الوظائف ذات الصلة: printf() وvprintf() وvsprintf() وfprintf() وvfprintf()
sprintf ( التنسيق، arg1، arg2، arg++ )
المعلمة | يصف |
---|---|
شكل | مطلوب. يحدد سلسلة وكيفية تنسيق المتغيرات داخلها. قيم التنسيق المحتملة: %% - يُرجع علامة النسبة المئوية % %b - رقم ثنائي %c - الحرف المطابق لقيمة ASCII %d - رقم عشري بعلامة (سلبي، 0، موجب) %e - استخدم التدوين العلمي الصغير (على سبيل المثال 1.2e+2) %E - استخدم الرموز العلمية الكبيرة (على سبيل المثال 1.2E+2) %u - رقم عشري بدون إشارة (أكبر من أو يساوي 0) %f - رقم النقطة العائمة (الإعداد المحلي) %F - رقم النقطة العائمة (إعداد غير أصلي) %g - الإصدار الأقصر من %e و%f %G - أقصر %E و%f %o - رقم ثماني %s - سلسلة %x - رقم سداسي عشري (أحرف صغيرة) %X - رقم سداسي عشري (أحرف كبيرة) قيم التنسيق الإضافية. يجب وضعه بين % وحرف (على سبيل المثال %.2f): + (أضف + أو - أمام الرقم لتحديد إشارة الرقم. افتراضيًا، يتم وضع علامة على الأرقام السالبة فقط، ولا يتم وضع علامة على الأرقام الموجبة) ' (يحدد ما سيتم استخدامه كحشوة، والإعدادات الافتراضية هي مسافات. ويجب استخدامه مع محدد العرض. على سبيل المثال: %'x20s (استخدم "x" كحشوة)) - (قيمة متغيرة التعديل الأيسر) [0-9] (يحدد الحد الأدنى لعرض قيمة المتغير) .[0-9] (يحدد عدد المنازل العشرية أو الحد الأقصى لطول السلسلة) ملحوظة: إذا تم استخدام قيم التنسيق المتعددة أعلاه، فيجب استخدامها بالترتيب أعلاه ولا يمكن تعطيلها. |
arg1 | مطلوب. يحدد المعلمات التي سيتم إدراجها عند علامة % الأولى في سلسلة التنسيق. |
arg2 | خياري. يحدد المعلمات التي سيتم إدراجها في سلسلة التنسيق عند علامة % الثانية. |
arg++ | خياري. يحدد المعلمات التي سيتم إدراجها في سلسلة التنسيق عند الرموز الثالثة والرابعة وما إلى ذلك. |
قيمة الإرجاع: | إرجاع سلسلة منسقة. |
---|---|
نسخة PHP: | 4+ |
استخدم قيمة التنسيق %f:
<?php $number = 123 ; $ txt = sprintf ( " %f " , $number ) ; $ تكست ? >استخدم العناصر النائبة:
<?php $number = 123 ; $txt = sprintf ( " بمنزلتين عشريتين: %1 $ .2f<br>بدون العلامة العشرية: %1 $ u " , $number ) ; $ تكست ? >عرض لجميع قيم التنسيق الممكنة:
<?php $ num1 = 123456789 ; $ num2 = - 123456789 ; // ملاحظة: قيمة التنسيق "%%" تُرجع علامة النسبة المئوية صدى sprintf ( " %% b = %b " , $ num1 ) ; // رقم ثنائي صدى sprintf ( " %%c = % c " , $ char ) " // أحرف ASCII صدى sprintf ( " %%d = % d " , $ num1 ) ; // رقم عشري مُوقع صدى sprintf ( " %%d = % d " , $ num2 ) ; // رقم عشري مُوقع صدى sprintf ( " %%e = %e " , $ num1 ) " // التدوين العلمي (أحرف صغيرة) . صدى sprintf ( " %%E = %E " , $ num1 ) " // التدوين العلمي (أحرف كبيرة) . صدى sprintf ( " %% u = % u " , $num1 ) " // رقم عشري غير مُوقع (موجب) . صدى sprintf ( " %% u = % u " , $num2 ) " // رقم عشري غير مُوقع (سلبي) . صدى sprintf ( " %%f = %f " , $ num1 ) " // رقم النقطة العائمة ( حسب الإعدادات المحلية ) . صدى sprintf ( " %%F = %F " , $ num1 ) " // رقم النقطة العائمة ( بغض النظر عن الإعدادات المحلية) . صدى sprintf ( " %%g = %g " , $ num1 ) ; // أقصر من % e و %f صدى sprintf ( " %%G = % G " , $ num1 ) " " <br> " ; صدى sprintf ( " %% o = % o " , $ num1 ) ; صدى sprintf ( " %% s = %s " , $ num1 ) ; // String صدى sprintf ( " %% x = %x " , $num1 ) " // رقم سداسي عشري ( أحرف صغيرة) . صدى sprintf ( " %% X = %X " , $num1 ) " // رقم سداسي عشري (أحرف كبيرة ) . صدى sprintf ( " %% + d = %+d " , $num1 ) ; // محدد الرمز (موجب ) . صدى sprintf ( " %%+d = %+d " , $num2 ) ; // محدد الإشارة (سلبي ) . ?>مظاهرة محددات السلسلة:
<?php $str1 = " مرحبًا " ; $str2 = " مرحبًا بالعالم! " ; sprintf ( " [ % s ] " , $ str1 ) ; sprintf ( " [ % 8s ] " , $ str1 ) sprintf ( " [ % -8s ] " , $ str1 ) sprintf ( " [ % 08s ] " , $ str1 ) sprintf ( " [ % ' * 8s ] " , $ str1 ) sprintf ( " [ % 8.8s ] " , $ str2 ) ;