وظيفة sprintf() في PHP

مثال

استبدل رمز النسبة المئوية (%) بعنصر متغير يتم تمريره كمعامل:

<?php
$number = 2;
$str = "Shanghai";
$txt = sprintf("هناك ӣون سيارة في %s."),$number,$str);
echo $txt;
؟

运行实例

التعريف والاستخدام

تقوم وظيفة sprintf() بكتابة النص التنسيقي في المتغير.

arg1،arg2،++ سيتم إدراج المغير في الموقع من رمز % في النص الرئيسي. هذه الوظيفة تنفذ خطوة بخطوة. في الموقع الأول من رمز %، أدرج arg1،في الموقع الثاني من رمز %، أدرج arg2،إلى آخره.

التعليق:إذا كان هناك رمز % أكثر arg إذا كان هناك معامل، يجب عليك استخدام بدائل. البديل يقع بعد رمز %، يتكون من رقم و '%%'. انظر مثال 2.

نصيحة:الوظائف ذات الصلة: printf()، vprintf()، vsprintf()، fprintf() و vfprintf()

النحو

sprintf(format,arg1,arg2,arg++)
المغير الوصف
format

مطلوب. يحدد النص وكيفية تنسيقه للمغيرات.

قيم التنسيق المحتملة:

  • %% - العودة إلى رمز الـ %
  • %b - عدد ثنائي
  • %c - حرف يحتوي على قيمة ASCII
  • %d - عدد عشري يحتوي على علامة إيجابية أو سلبية (سالب، 0، إيجابي)
  • %e - استخدام نظام العدد العلمي الصغير (مثال: 1.2e+2)
  • %E - استخدام نظام العدد العلمي الكبير (مثال: 1.2E+2)
  • 誒دد عشري بدون علامة إيجابية أو سلبية (أكبر من أو يساوي 0)
  • %f - عدد عشري (بإعداد محلي)
  • %F - عدد عشري (بإعداد غير محلي)
  • %g - %e وال%f الأقصر
  • %G - %E وال%f الأقصر
  • %o - عدد ثنائي
  • %s - نص
  • %x - عدد عشري (أحرف صغيرة)
  • %X - عدد عشري (أحرف كبيرة)

قيم التنسيق الإضافية. يجب وضعها بين % والحرف (مثال: %.2f):

  • + (إضافة + أو - أمام الرقم لتحديد إشارة الإيجابية أو السلبية. الافتراضي هو علامة السلبية فقط، الإيجابية لا تُسجل)
  • ' (يحدد ما يتم استخدامه كملء، الافتراضي هو الفراغ. يجب استخدامه مع معدل العرض. مثال: '%'x20s (استخدام 'x' كملء))
  • - (التثبيت إلى اليسار للقيمة)
  • [0-9] (يحدد أوسع قيمة للمعلمة)
  • .[0-9] (يحدد عدد أرقام النقاط أو طول النص الأقصى)

التعليق:إذا تم استخدام عدة قيم تنسيق أعلاه، يجب استخدامها بالترتيب المحدد.

arg1 مطلوب. يحدد ما يتم إدراجه format النص الموجود في الموقع الأول من رمز % الرمز المحدد في النص.
arg2 اختياري. يحدد ما يتم إدراجه format النص الموجود في الموقع الثاني من رمز % الرمز المحدد في النص.
arg++ اختياري. يحدد ما يتم إدراجه format النص الموجود في الموقع الثالث والرابع من رمز % الرمز المحدد في النص.

技术细节

返回值: 返回已格式化的字符串。
PHP 版本: 4+

更多实例

例子 1

使用格式值 %f:

<?php
$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
؟

运行实例

例子 2

使用占位符:

<?php
$number = 123;
$txt = sprintf("带两位小数:%1\$.2f
<br>不带小数:%1\$u",$number);
echo $txt;
؟

运行实例

例子 3

对所有可能的格式值的演示:

<?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 sprintf("[%s]",$str1)."<br>";
echo sprintf("[%8s]",$str1)."<br>";
echo sprintf("[%-8s]",$str1)."<br>";
echo sprintf("[%08s]",$str1)."<br>";
echo sprintf("[%'*8s]",$str1)."<br>";
echo sprintf("[%8.8s]",$str2)."<br>";
؟

运行实例