قائمة الطعام
مجاني
التسجيل
الصفحة الرئيسية  /  النصيحة/ PHP sprintf: تنسيق ومعالجة السلاسل. تنسيق وظائف الإخراج في أمثلة PHP Printf php

PHP sprintf: تنسيق ومعالجة السلاسل. تنسيق وظائف الإخراج في أمثلة PHP Printf php

printf("كيفية التنسيق" ، المعلمة 1 ، المعلمة 2 ، ...) - يعرض النتيجة على الشاشة

النتيجة بالدولار = سبرينتف(".." ، .. ، .. ، ...) - نفس الشيء ، لا يتم عرض السلسلة فقط ، ولكن يتم وضعها في النتيجة $

اقتباس من ترجمة الدليل ( أمثلةأقل:-):

سبرينتف

sprintf - إرجاع سلسلة منسقة
وصف
sprintf (تنسيق سلسلة ، مختلط ...) ؛

تُرجع سلسلة ، تمت معالجتها وفقًا لسلسلة التنسيق صيغة .

سلسلة تنسيق تحتوي على صفر أو أكثر من التوجيهات: أحرف عادية (باستثناء٪) يتم نسخها مباشرةً إلى النتيجة ، والتي يتم نسخها مباشرةً إلى النتيجة ، و أوصاف التغييرات، كل منها يؤدي إجراءات معينة. وهذا ينطبق على سبرينتف ()و ل printf ()

يتكون كل وصف تغيير من العناصر التالية ، بالترتيب:

    إضافي محدد الحشوالذي يوضح الأحرف التي سيتم استخدامها لملء النتيجة بالحجم الصحيح للسلسلة. يمكن أن تكون هذه مسافات أو 0 (صفر حرف). مملوءة بالمسافات بشكل افتراضي. يمكن تحديد حرف تعبئة بديل بعلامة اقتباس واحدة ("). انظر الأمثلة أدناه.

    إضافي محدد المحاذاةالذي يشير إلى أن النتيجة يجب أن تكون محاذية لليسار أو محاذاة لليمين. بشكل افتراضي ، المحاذاة صحيحة ؛ الرمز - ستتم محاذاة جهة اليسار.

    إضافي محدد العرض، والتي توضح عدد الأحرف (الحد الأدنى) التي يمكن استبدالها.

    إضافي محدد الدقةالذي يوضح عدد المنازل العشرية التي يتم عرضها لأرقام الفاصلة العائمة. هذا المحدد ليس له أي تأثير على الأنواع الأخرى غير المضاعفة. (اخر وظيفة مفيدةلتنسيق الأرقام هذا number_format () .)

  1. محدد النوعالذي يخبر كيف يجب تفسير نوع البيانات للوسيطة. الأنواع الممكنة:

    ٪ هو رمز النسبة المئوية. لا حاجة إلى حجة.
    ب - يتم التعامل مع الوسيطة كرقم صحيح ويتم تمثيلها كرقم ثنائي.
    ج - يتم التعامل مع الوسيطة كعدد صحيح ويتم تمثيلها كحرف بقيمة ASCII.
    د - يتم التعامل مع الوسيطة كرقم صحيح ويتم تمثيلها كرقم عشري.
    و - يتم التعامل مع الوسيطة على أنها مضاعفة ويتم تمثيلها كرقم فاصلة عائمة.
    o - يتم التعامل مع الوسيطة كرقم صحيح ويتم تمثيلها كرقم ثماني.
    ق - يتم تفسير الحجة وتقديمها كسلسلة.
    x - يتم التعامل مع الوسيطة على أنها عدد صحيح ويتم تمثيلها كرقم سداسي عشري (بأحرف صغيرة).
    X - يتم التعامل مع الوسيطة على أنها عدد صحيح ويتم تمثيلها كرقم سداسي عشري (بأحرف كبيرة).
أمثلة على

مثال 2. printf: تنسيق العملة

المال 1 = 68.75 دولار ؛ المال 2 = 54.35 دولار ؛ $ المال = $ المال 1 + $ المال 2 ؛ // echo $ money سينتج "123.1" ؛ تنسيق $ = sprintf ("٪ 01.2f"، $ money)؛ // echo $ formatted سينتج "123.10"

أمثلة على

كل ما هو مكتوب >>> بين هذه الأقواس <<< هي نتيجة الوظيفة (مثال على الإخراج على الشاشة) $ s = "MyString"؛ -> سلسلة٪ s $ f = 12345.6789 ؛ -> كسور٪ f $ d = 12345 ؛ -> عدد صحيح٪ d النظام العاشر: 0123456789 16numbers٪ x 16th system: 0123456789abcdef 16numbers٪ X 16th system: 0123456789ABCDEF 8numbers٪ o النظام الثامن: 01234567 2numbers٪ b النظام الثاني: 01 فقط اطبع الرقم: printf ("٪ d"، $ د)؛ >>> 12345<<< просто выводим 16число: printf("%X",123456789); >>> 75BCD15<<< просто выводим 2число: printf("%b",$d); >>> 11000000111001 <<< просто выводим дробное число: printf("%f",$f); >>> 12345.6789 <<< дополнение чисел нулями: printf("%010d",$d); >>> 0000012345 <<< округление до 3х знаков после запятой: printf("%.3f",$f); >>> 12345.679 <<< просто выводим число + посторонний текст: printf("посторонний%dтекст",$d); >>> نص 12345 غريب<<< вывод нескольких переменных - последовательное перечисление printf("%d-%f-%s",$d,$f,$s); >>> 12345-12345.678900-MyString<<< выравнивание (ширина 20 символов) по правому краю, пустоту заполняем "_": printf("%"_20s",MyString); >>> ____________MyString<<< выравнивание по левому краю, пустоту заполняем "x": printf("%-"x20s",MyString); >>> MyStringxxxxxxxxxxxx<<<

شاهد أمثلة أخرى هنا:

وظيفة وحدة التحكم C القياسية هي printf. ويرد وصفه في ملف الرأس stdio.h. باستخدام هذه الوظيفة ، يمكنك إخراج البيانات أو الرسائل المخصصة إلى وحدة التحكم. لغة C حساسة لحالة الأحرف. على سبيل المثال ، تختلف الوظيفتان printf و scanf عن أمثال Printf و Scanf. يجب أيضًا كتابة جميع الأحرف في وظائف printf و scanf بأحرف صغيرة. أحد أبسط الأمثلة على عرض C printf لتحية hello world المألوفة هو:

تحديد وظائف مجموعة printf في ملف "stdio.h"

يشير الملف "stdio.h" إلى مكتبة الإدخال / الإخراج القياسية C. موصوفة Printf والوظائف المماثلة على النحو التالي:

تقوم الوظائف المدرجة بتحميل البيانات من مواقع معينة ، وتحويلها إلى سلسلة أحرف ، وإرسالها إلى تدفقات الإخراج المحددة.

عائلة وظائف printf

تُستخدم وظائف مجموعة printf في لغة C لمعالجة وتنسيق إخراج البيانات إلى الدفق القياسي. علاوة على ذلك ، تكتب وظائف printf و vprintf إلى دفق stdout القياسي ، وترسل الدالتان fprintf و vfprintf قيم وسيطات الإخراج إلى بعض دفق الإخراج المحدد ، وكتابة snprintf و sprintf و vsnprintf و vsprintf البيانات إلى سلسلة أحرف. تعمل كل هذه الوظائف باستخدام سلسلة تنسيق تحدد تحويلات الوسيطة المطلوبة للإخراج.

تقوم وظيفة fprintf بكتابة النتيجة إلى دفق الإخراج. تقوم وظيفة sprintf بإخراج النتيجة إلى مخزن مؤقت ، وهو عبارة عن سلسلة أحرف. يكون سلوك الوظيفة غير معرف إذا تجاوزت السلسلة التي سيتم إخراجها حجم صفيف المخزن المؤقت.

وظيفة snprintf ، مثل الوظيفة السابقة ، تكتب البيانات إلى مخزن سلسلة. يتم إنهاء سلسلة الأحرف الناتجة خالية إلا إذا كان bufsz (حجم المخزن المؤقت) صفرًا. خلاف ذلك ، إذا كانت قيمة bufsz صفراً ، فلن يتم إخراج أي شيء إلى المخزن المؤقت ، وقد يكون المخزن المؤقت نفسه مؤشرًا فارغًا ، ولكن القيمة المعادة (عدد البايتات التي كان يجب كتابتها) لا تزال محسوبة.

تعمل وظيفة printf_s بشكل أساسي بنفس طريقة عمل printf ، باستثناء شيء واحد. يتمثل الاختلاف الرئيسي بين أوصاف printf_s في C و printf في أن دالة printf_s تتحقق من سلسلة التنسيق بحثًا عن أحرف صالحة ، على عكس printf ، الذي يتحقق فقط من سلسلة التنسيق لمؤشر فارغ.

دعونا نلقي نظرة فاحصة على وظيفة printf.

وصف عام

في C ، تتم طباعة الأحرف على الإخراج القياسي عن طريق استدعاء وظيفة printf. يقوم الأمر C printf بتنسيق مجموعة من بيانات الإخراج وإرسالها إلى stdout. تتم طباعة القيم التي تم تمريرها كوسيطات للوظيفة على وحدة التحكم وفقًا لسلسلة التنسيق المحددة ، والتي تحتوي بدورها على نوعين من العناصر. النوع الأول هو الأحرف المعروضة على الشاشة ، والعناصر التي تحدد ميزات تنسيق البيانات والمسؤولة عن طريقة عرض الوسائط في الإخراج تنتمي إلى النوع الثاني.

عند طباعة المتغيرات باستخدام printf في C ، يتم استبدال مجموعات خاصة من الأحرف في سلسلة الوسيطة ببيانات محولة وفقًا لهذه الأحرف ، ولكل نوع بيانات مواصفات تنسيق الإخراج الخاصة به.

نوع الوظيفة وقيمة الإرجاع

تقوم وظيفة printf بإرجاع قيمة عدد صحيح يشير إلى عدد الأحرف المطبوعة على الشاشة. على سبيل المثال ، يمكنك تعيين:

int k = printf ("مرحبًا٪ c٪ d٪ s" ، "a" ، 11 ، "الجميع!") ،

ثم من خلال قيمة المتغير k ، من السهل تحديد ما إذا كان هناك خطأ في الإخراج. إذا تم إرجاع قيمة سالبة (إذا أعادت الوظيفة "-1") ، فيمكننا أن نستنتج حدوث خطأ أثناء تنفيذها.

النحو والتبعيات

لاستخدام وظيفة printf ، يجب تضمين ملف الرأس "stdio.h" على النحو التالي:

#يشمل

يشبه قالب الوظيفة:

int printf (تنسيق الحرف * ، ...)

تشير علامة القطع إلى قائمة الوسائط التي سيتم طباعتها. يمكن استخدام وظيفة printf مع عدد مختلف من الوسيطات ، ولكن يتم تحديد الوسيط الأول دائمًا على كلا الجانبين بعلامات اقتباس مزدوجة ، ويجب فصل كل واحدة لاحقة عن الفاصلة السابقة. ما هو مكتوب بعلامات اقتباس مزدوجة وليس مواصفة تنسيق تتم طباعته بدون تغيير ، وإلا إذا تمت مصادفة محدد ، يتم نسخ نوع قيمته.

نموذج لتحديد مواصفات التنسيق:

٪ [إشارات] نوع [عرض] [. موضع] [طول]

التنسيق مع printf في قيم الإخراج C.

يتم قراءة سلسلة التنسيق المحددة بين قوسين بعد اسم الوظيفة التي تم استدعاؤها في اتجاه واحد فقط: من اليسار إلى اليمين ، ويتم إخراج الوسيطة الأولى المحددة بعد هذا السطر نفسه فقط في حالة مواجهة المواصفة الأولى. حتى تنتهي سلسلة التنسيق ، ستبدأ المواصفات المحددة فيها تحويل وطباعة الوسائط اللاحقة. في سلسلة التنسيق ، يتم التعامل مع حرف المسافة على أنه حرف عادي ويتم تمريره إلى الإخراج عند عدم استخدامه في تعبير مواصفات التنسيق.

يشير الحرف "٪" إلى بداية مواصفات تنسيق الإخراج ، متبوعًا بكود التنسيق. جميع الحقول في المواصفات منفصلة ، وتحدد شروط التنسيق للأرقام أو الأحرف.

الإخراج printf المنسق في C له خصائصه الخاصة. إذا تجاوز عدد الوسائط المدرجة عدد مواصفات التنسيق ، فسيتم تخطيها ولا يتم عرضها. خلاف ذلك ، إذا كانت هناك مواصفات تنسيق أكثر من القيم الموجودة في قائمة الوسائط المطلوب طباعتها ، فإن نتيجة استدعاء الوظيفة تكون غير محددة.

للإشارة صراحةً إلى الوسيطة التي يجب استخدامها من خلال العد ، من الممكن استخدام "٪ m $" بدلاً من "٪" و "* m $" بدلاً من "*" ، وتشير m ، وهي قيمة عشرية صحيحة ، إلى موضع الوسيطة المطلوبة (الفهرسة تبدأ من واحد) ...

العوامل

العلامات المستخدمة في سلسلة التنسيق
علموصف
- قم بمحاذاة النتيجة إلى اليسار في مربع الإخراج
+ عند عرض قيمة رقمية لها علامة ، يتم إجبارها على طباعة "+" أمام قيمة موجبة (افتراضيًا ، يتم عرض "-" فقط أمام قيمة سالبة)
0 بالنسبة للأعداد الصحيحة وأرقام الفاصلة العائمة ، يتم استخدام الأصفار البادئة بدلاً من المسافات لتعبئة الأرقام اليسرى عند تحديد عرض حقل أكبر من طول الرقم. بالنسبة للأعداد الصحيحة ، يتم تجاهل العلامة إذا تم تحديد الدقة بشكل صريح. بالنسبة للتحويلات الأخرى التي تستخدم هذه العلامة ، يكون سلوك الوظيفة غير محدد. يتم تجاهل علامة "0" في حالة وجود علامة "-"
الفراغإذا كانت نتيجة ناتج التعبير الذي يحتوي على علامة لا تبدأ بحرف هذه العلامة أو كانت فارغة ، فسيتم إضافة مسافة إلى النتيجة. يتم تجاهل علامة "المسافة" في حالة وجود علامة "+"
# شكل بديل للتحويل قيد التقدم

محددات التنسيق المختلفة

محدد التنسيقاستخدام ووصف printf Cنوع الوسيطة
% الإدخال الحرفي "٪"
جيعرض حرف واحد. يتم تحويل الوسيطة إلى نوع char غير الموقعة. عند استخدام المعدل "l" ، يتم تحويل الوسيطة إلى سلسلة أحرفحرف غير موقعة
سيطبع سلسلة من الأحرف. يجب أن تكون الوسيطة مؤشرًا لعنصر البداية في صفيف charفحم *
د
أنا
اطبع التمثيل العشري لقيمة عدد صحيح بعلامةint
اعرض قيمة عدد صحيح ثماني بدون إشارةعدد صحيح غير موقعة
x
X
إخراج التمثيل السداسي العشري لقيمة عدد صحيح بدون إشارة. يتم استخدام الأحرف "a" و "b" و "c" و "d" و "e" و "f" لتحويل "x". ولتحويل "X" - "A" ، "B" ، "C" ، "D" ، "E" ، "F"عدد صحيح غير موقعة
شإخراج تحويل عشري بدون قيمة عدد صحيح بعلامة. إذا كانت القيمة المحولة والدقة كلاهما 0 ، فلن يتم إخراج أي أحرفعدد صحيح غير موقعة
F
F
عرض التمثيل العشري لرقم الفاصلة العائمةمزدوج
ه
ه
إخراج التمثيل الأسي العشري يتم تقريبه وتحويله بحيث يتم ترك رقم واحد قبل الفاصلة العشرية ، ويتوافق عدد الأرقام بعد الفاصلة العشرية مع دقة التمثيل (بشكل افتراضي ، تكون الدقة 6 ، وإذا تم تحديد 0 ، ثم لا يتم إخراج حرف الفاصلة على الإطلاق). يتم عرض الحرف "e" بأحرف كبيرة أو صغيرة حسب التحويلمزدوج
أ
أ
عرض التمثيل السداسي العشري لرقم الفاصلة العائمةمزدوج
ز
جي
عرض التمثيل العشري لرقم الفاصلة العائمة أو تمثيلها الأسي العشري ، اعتمادًا على القيمة والدقةمزدوج
نإرجاع عدد العناصر المطبوعة بواسطة printf. تتم كتابة النتيجة إلى المتغير الذي تشير إليه الوسيطة. قد لا تحتوي قائمة مكونات الصنف على إشارات أو عرض حقل أو دقةكثافة العمليات *
صخرج المؤشرفارغ *

معدل عرض المجال

يمكن أن تحتوي سلسلة التنسيق في printf C على عدد صحيح بعد علامة النسبة المئوية وقبل أمر التنسيق. يعدل عرض الحقل ويؤثر على عرض البيانات المعروضة. يتم تحديد أصغر عرض للحقل مخصص لقيمة ما بواسطة هذا الرقم ، ووجود مثل هذا المُعدِّل ، إذا كانت الوسيطة أقل من الحقل المخصص لها ، يؤدي إلى إضافة مسافات أو أصفار إلى النتيجة. العنصر النائب الافتراضي هو حرف مسافة ، ولكن يمكنك ضبطه على صفر عن طريق تسبقه بمواصفات العرض. يحدد المُعدِّل الحد الأدنى للعرض ، وستتم طباعة أي قيمة تتجاوز هذا الحد الأدنى بدون فوضى. رقم ، على سبيل المثال ، أقل من ثمانية أحرف ويتم طباعته بالمواصفات "٪ 08d" سيتم تبطينه بالأصفار الثمانية المطلوبة.

يمكن لمثل هذه المعدلات أيضًا تحديد خيارات الدقة أو المحاذاة.

معدل الدقة

يتم استخدام معدل الدقة لتحديد عدد المنازل العشرية للطباعة في التمثيل الرقمي. لإضافة معدل دقة ، تحتاج إلى تحديد فترة بعد تحديد عرض الحقل وتحديد قيمة الدقة المطلوبة بعد ذلك. يتم تعريف معدّل الدقة للتنسيقات "e" و "f" و "a" و "E" و "A" و "F". بالنسبة للأعداد الصحيحة ، يحدد المُعدِّل عدد الأرقام المعروضة ، مضيفًا الأصفار إلى الرقم الأيسر ، إذا لزم الأمر ، وعند عرض الأرقام المنطقية ، يحدد العدد المطلوب من المنازل العشرية. فيما يتعلق بمتغيرات السلسلة: يعمل الرقم الذي يلي النقطة في معدل الدقة كمحدد لأقصى طول للحقل في الإخراج. على سبيل المثال ، نظرًا لمواصفات التنسيق "٪ 4.8s" ، سيتم إخراج سلسلة بطول يتراوح من أربعة إلى ثمانية أحرف ، وإذا تم تجاوزها ، فسيتم حذف الأحرف القصوى.

معدِّلات تنسيق أخرى

المحاذاة الافتراضية هي المحاذاة الصحيحة ، ولكن يمكن تغيير ذلك بوضع "-" بعد "٪". تحدد مواصفات التنسيق هذه المحاذاة إلى اليسار.

بالإضافة إلى ذلك ، فإن وظيفة printf قادرة على التمييز بين الأنواع القصيرة والطويلة لقيم الأعداد الصحيحة المطلوب طباعتها. المحددات الصالحة هي "o" و "d" و "u" و "i" و "x" و "X". يتم تعيين نوع القيمة الطويلة باستخدام المعدل "l" ، ويتم تعيين النوع القصير باستخدام المعدل "h". على سبيل المثال ، عند طباعة عدد صحيح طويل و int قصير بدون إشارة ، تبدو مواصفات التنسيق مثل "٪ ld" و "٪ hu" ، على التوالي.

أمثلة على

1. وصف printf C ونتائج استدعاء كل وظيفة:

2. عرض رسالة حوار بسيطة:

printf ("message") ؛

3. رمز البرنامج:

يتم طباعة التعبيرات المحددة أمام مواصفات التنسيق على الشاشة ، بالإضافة إلى الوسائط التي تتبع سلسلة التنسيق. نتيجة تنفيذ وظائف printf C أعلاه ، وصف بيانات الإخراج:

يوضح هذا المثال العرض باستخدام تنسيقات متنوعة من السلاسل ومتغيرات الأعداد الصحيحة والأحرف وأرقام الفاصلة العائمة.

وظيفة الإدخال القياسية scanf وأمثلة على استخدامها

تُستخدم وظيفة scanf لقراءة إدخال لوحة المفاتيح. للحصول على وصف لـ printf و scanf في C ، راجع ملف الرأس "stdio.h".

scanf ("محددات التنسيق"، & value1، & value2، ...)؛

مثال بسيط للعمل مع وظيفة scanf:

#يشمل

لإخراج سلسلة أو قيمة متغيرة أو تعبير.
بناء الجملة:

طباعة (سلسلة أحرف)

تطبع الدالة print () الوسيطة arg ، والتي يمكن أن تكون متغيرًا أو تعبيرًا.

vsprintf ()

إرجاع سلسلة منسقة (PHP 4> = 4.1.0 ، PHP 5)

وصف:

String vsprintf (تنسيق سلسلة ، مجموعة Args)

هذه الوظيفة مشابهة لـ sprintf () ، لكنها لا تأخذ عددًا متغيرًا من الوسائط ، ولكنها تتطلب مصفوفة.

يطبع قيمة واحدة أو أكثر.
بناء الجملة:

صدى (سلسلة arg1 ، سلسلة ...)

تعرض وظيفة echo () قيم المعلمات المدرجة.
إن echo () هو في الواقع بناء لغوي ، لذلك لا يلزم وجود أقواس له ، حتى لو تم استخدام وسيطات متعددة.
صدى "يتم حفظ فاصل سطر في الكود واستخدامه في الإخراج."
"لتجنب هذا الاستخدام".
"مشغل سلسلة"؛

إخراج سلسلة منسقة.
بناء الجملة:

Int printf (تنسيق سلسلة [، أرغس مختلطة ، ...]) ؛

يفعل نفس الشيء مثل sprintf () ، باستثناء أنه لا يتم إرجاع السلسلة الناتجة ، ولكن يتم إرسالها إلى متصفح المستخدم.

ينفذ تنسيق سلسلة مع استبدال متغير.
بناء الجملة:

Sprintf (تنسيق $ [، args، ...])

تقوم هذه الوظيفة بإرجاع سلسلة تستند إلى سلسلة تنسيق تحتوي على بعض الأحرف الخاصة ، والتي سيتم استبدالها لاحقًا بقيم المتغيرات المقابلة من قائمة الوسائط.
يمكن أن تتضمن سلسلة تنسيق $ أوامر تنسيق مسبوقة بحرف٪.
يتم نسخ جميع الأحرف الأخرى إلى سلسلة الإخراج كما هي. يتطابق كل محدد تنسيق (أي الحرف٪ متبوعًا بالأوامر) مع معلمة واحدة ومعلمة واحدة فقط محددة بعد معلمة تنسيق $. إذا كنت بحاجة إلى وضع٪ في النص كحرف عادي ، فستحتاج إلى مضاعفته:

Echo sprintf ("كانت النسبة٪ d ٪٪" ، $ نسبة مئوية) ؛

يحتوي كل محدد تنسيق على خمسة عناصر كحد أقصى (بالترتيب الذي تظهر به بعد الحرف٪):

محدد حجم حقل اختياري يحدد عدد الأحرف التي سيتم تخصيصها للقيمة المعروضة.
كعناصر نائبة (إذا كانت القيمة أصغر من حجم الحقل المراد عرضه)
يمكن استخدام مسافة أو 0 ، الافتراضي هو المسافة. يمكنك تحديد أي حرف حشو آخر بتحديده في سلسلة التنسيق ، مسبوقة بعلامة اقتباس أحادية.
محدد محاذاة اختياري يحدد ما إذا كانت النتيجة ستكون بمحاذاة لليمين أو إلى اليسار. المحاذاة الافتراضية لليمين ، ولكن يمكنك أيضًا تحديد محاذاة لليسار بتحديد - (علامة الطرح) الرمز.

رقم اختياري يحدد حجم الحقل لعرض القيمة. إذا لم تكن النتيجة في الحقل ، فسوف "تزحف" خارج حدود هذا الحقل ، ولكن لن يتم اقتطاعها.
رقم اختياري ، مسبوقًا بنقطة "." ، تحديد عدد المنازل العشرية في السلسلة الناتجة.
يؤخذ هذا المحدد في الحسبان فقط في حالة إخراج رقم فاصلة عائمة ، وإلا فسيتم تجاهله.
أخيرًا ، يتم وضع محدد نوع القيمة المطلوب (ملاحظة - المطلوب فقط!) على سطر الإخراج:

ب - يتم عرض الوسيطة التالية من القائمة كعدد صحيح ثنائي
ج - يتم عرض الرمز مع الرمز المحدد في الوسيطة
د - عدد صحيح
و - رقم الفاصلة العائمة
س - عدد صحيح ثماني
ق - سلسلة الأحرف
س - عدد صحيح سداسي عشري بأحرف صغيرة من الألف إلى الياء
X عدد صحيح سداسي عشري بأحرف كبيرة من A إلى Z

إليك كيفية تحديد دقة أرقام الفاصلة العائمة:

المال 1 = 68.75 دولار ؛
المال 2 = 54.35 دولار ؛
$ المال = $ المال 1 + $ المال 2 ؛
// echo $ money سيطبع "123.1" ...
تنسيق $ = sprintf ("٪ 01.2f"، $ money)؛
// echo $ تنسيق ستطبع "123.10"!

فيما يلي مثال لإخراج عدد صحيح مسبوقًا بعدد الأصفار المطلوب:

isodate $ = sprintf ("٪ 04d-٪ 02d-٪ 02d"، $ year، $ month، $ day)؛

يفسر السلسلة وفقًا للتنسيق ويضبط القيم على المتغيرات.

بناء الجملة:

مختلط sscanf (سلسلة str ، تنسيق سلسلة [، سلسلة var1 ...])

وظيفة sscanf () هي عكس وظيفة printf ().

يفسر سلسلة السلسلة وفقًا للتنسيق ، على غرار مواصفات printf ().

إذا تم تحديد وسيطتين فقط ، فسيتم إرجاع القيم الناتجة في مصفوفة.

// احصل على الرقم التسلسلي $ serial = sscanf ("SN / 235-0001" ، "SN /٪ 3d-٪ 4d") ؛
صدى $ مسلسل * 10000 + $ مسلسل ؛ // المخرجات: 2350001
// وتاريخ التصنيع بالدولار date = "01 يناير 2000" ؛
list ($ month ، $ day ، $ year) = sscanf ($ date ، "٪ s٪ d٪ d") ؛
صدى "Date: $ year -". substr ($ month، 0،3). "- $ dayn"؛
// يطبع: 2000 يناير 01

عند تحديد معلمات اختيارية إضافية (يجب تمريرها من خلال المرجع)

تقوم الدالة بإرجاع عددهم. لا يتم تضمين المتغيرات التي لا تتلقى القيم في قيمة الإرجاع.

// إنشاء سجل XML من السلسلة $ auth = "765tLewis Carroll" ؛
$ n = sscan ($ auth، "٪ dt٪ s٪ s"، & $ id، & $ first، & $ last)؛
صدى صوت "
$ أولا
$ الماضي
ن "؛

fprintf ()

وصف:

Int fprintf (معالج المورد ، تنسيق سلسلة [، أرغز مختلطة])

يكتب سلسلة مكونة باستخدام تنسيق سلسلة التنسيق إلى الدفق الذي يتم تمرير مقبضه للمعالجة. تمت مناقشة وسيطة التنسيق بالتفصيل في وصف وظيفة sprintf ().

fprintf (): الحشو بالأصفار


إرجاع؛

fprintf ($ fp، "٪ 04d-٪ 02d-٪ 02d"، $ year، $ month، $ day)؛
// سيكتب التاريخ المنسق إلى ملف date.txt
?>

fprintf (): تنسيق قيم العملات

إذا (! ($ fp = fopen ("currency.txt"، "w")))
إرجاع؛

المال 1 = 68.75 دولار ؛
المال 2 = 54.35 دولار ؛
$ المال = $ المال 1 + $ المال 2 ؛
// echo $ money سيطبع "123.1" ؛
$ len = fprintf ($ fp، "٪ 01.2f"، $ money)؛
// تتم كتابة السلسلة "123.10" في ملف currency.txt

صدى "$ len بايت مكتوب في ملف currency.txt" ؛
?>

vfprintf ()

يكتب سلسلة منسقة إلى دفق (PHP 5)

وصف:

Int vfprintf (معالجة المورد ، تنسيق سلسلة ، أرغس المصفوفة)

يكتب سلسلة ، منسقة بالتنسيق ، لمورد الدفق المحدد بواسطة المقبض. التنسيق مشابه لـ sprintf ().

يعمل بنفس طريقة fprintf () ، ولكنه يأخذ مجموعة من الوسائط ، وليس عددًا متغيرًا من الوسائط.

تُرجع طول سلسلة الإخراج.

راجع أيضًا: printf () و sprintf () و sscanf () و fscanf () و vsprintf () و number_format ().
أمثلة

vfprintf (): أعداد صحيحة صفرية مبطنة

إذا (! ($ fp = fopen ("date.txt"، "w")))
إرجاع؛

vfprintf ($ fp، "٪ 04d-٪ 02d-٪ 02d" ، مجموعة ($ year ، $ month ، $ day)) ؛
// سيكتب تاريخ ISO المنسق حتى date.txt
?>

vprintf ()

إخراج سلسلة منسقة (PHP 4> = 4.1.0 ، PHP 5)

وصف:

Int vprintf (تنسيق سلسلة ، أرغس المصفوفة)

تُخرج قيم المصفوفة args ، منسقة وفقًا لوسيطة التنسيق الموصوفة في وثائق الدالة sprintf ().

تشبه هذه الوظيفة printf () ، لكنها لا تأخذ عددًا متغيرًا من الوسائط ، ولكنها تتطلب مصفوفة.

تُرجع طول سلسلة الإخراج

number_format ()

تنسيق رقم بمجموعات منفصلة (PHP 3 ، PHP 4 ، PHP 5)

وصف:

سلسلة number_format (رقم عائم [، int decimals])

سلسلة number_format (رقم عائم ، أعداد عشرية int ، سلسلة dec_point ، سلسلة آلاف_sep)

يقوم number_format () بإرجاع الرقم المنسق. تأخذ الدالة وسيطة واحدة أو اثنتين أو أربع (وليس ثلاثًا):

إذا تم تمرير وسيطة واحدة فقط ، فسيتم تنسيق الرقم بدون جزء كسري ، ولكن باستخدام فاصلة ("،") بين مجموعات مكونة من 3 ثوانٍ.

إذا تم تمرير وسيطتين ، فسيتم تنسيق الرقم مع الكسور العشرية بعد نقطة (".") والفاصلة المنقوطة ("،") بين مجموعات الأرقام المكونة من 3.

إذا تم تمرير جميع الوسيطات الأربع ، فسيتم تنسيق الرقم مع الكسور العشرية بعد النقطة ومع وجود فاصل بين مجموعات مكونة من 3 ثوانٍ ، باستخدام dec_point كنقطة عشرية والآلاف_sep كفاصل المجموعة.

يتم استخدام الحرف الأول فقط من سلسلة الآلاف_sep. على سبيل المثال ، إذا قمت بتمرير foo كـ thousand_sep إلى تنسيق 1000 ، فإن number_format () يُرجع 1f000.

مثال باستخدام number_format ()

في فرنسا ، يتم استخدام منزلتين عشريتين ("،") بشكل شائع ، ويتم استخدام مسافة ("") كفاصل مجموعة. يتم الحصول على هذا التنسيق باستخدام الكود التالي:

الرقم بالدولار الأمريكي = 1234.56 دولارًا أمريكيًا ؛

// تنسيق اللغة الإنجليزية (افتراضي)
$ english_format_number = number_format ($ number) ؛
// 1,234

// الشكل الفرنسي
$ nombre_format_francais = number_format ($ number، 2، "،"، "")؛
// 1 234,56

الرقم بالدولار = 1234.5678 ؛

// تنسيق اللغة الإنجليزية بدون فواصل المجموعة
$ english_format_number = number_format ($ number، 2، "."، "")؛
// 1234.57

تتيح لك وظيفة PHP sprintf تحويل عدد من الوسائط ووضعها في سلسلة أحرف مفردة. تسمح لك محددات التنسيق بالعمل مع الأحرف والسلاسل والأعداد الصحيحة والأرقام الحقيقية.

استخدام الوظيفة مطلوب لتنسيق المعلومات الجدولية وإنشاء القوالب. يمكن استخدامه لإضفاء الطابع الرسمي الأولي على البيانات الأولية في بنية معينة ، وتغيير محتواها أو تسلسلها.

بناء جملة الدالة PHP sprintf ()

نتيجة الوظيفة عبارة عن سلسلة من الأحرف تتكون في تسلسل معين من بيانات محددة ، معلمات الوظيفة:

  • سلسلة التنسيق
  • قائمة الحجج.

يمكن استخدام أي بناء ومنطق للتنسيق ، بما في ذلك علامات HTML. على الرغم من عدم وجود قيود على استخدام sprintf ، فإن دليل PHP يحدد محددات التحويل لتكون أكثر من معلومات رقمية.

يبدأ عنصر التنسيق بحرف٪ وينتهي بحرف محدد. تقع معظم إمكانيات التنسيق في منطقة المعلومات الرقمية. من العملي جدًا أن تكون قادرًا على تحويل رقم إلى تنسيقات ثنائية وسداسية عشرية. هنا تكاد وظائف sprintf في PHP كتابة بديل.

يسلط المثال أعلاه الضوء على اصطلاح تسمية الوسيطة والفرق بين محدد x و X. يعتبر الاستخدام الصحيح للمراجع إلى تسلسل الوسائط المنسقة مهمًا للحصول على النتيجة الصحيحة. يبدأ الترقيم دائمًا بالرقم 1.

لا يهم الترتيب الذي يتم استخدام الروابط به ، ولكن من المهم أن تتذكر: تأخذ وظيفة PHP sprintf في الاعتبار جميع عناصر٪ (دون تحديد رقم الوسيطة) بالتتابع في القائمة العامة. لا علاقة لترقيم القائمة العامة بعدد أو تسلسل٪ من العناصر المشار إليها بأرقام معلمات محددة.

وصف مثال على استخدام sprintf في PHP

إذا لم تكن هناك إمكانية مباشرة للتحكم في الوسيطة في شكل سلسلة ، فلن تكون هناك مشكلة في التحكم في سلسلة التنسيق وإخراج المعلومات الرقمية إلى السلسلة الناتجة.

في أول سطرين من المثال (عرض الوسيطات Arg1 و Arg2c و Arg2p) ، يتم عرض الوسيطة الأولى هي السلسلة (اسم الموضع) كما هي. تأخذ الوسيطة الثالثة 12 (14) حرفًا في الإخراج. يقوم السطر الأول بمحاذاة الرقم إلى اليسار مع الأصفار بطول إجمالي يبلغ 12 حرفًا. هناك أربعة أحرف بعد النقطة. يقوم السطر الثاني بمحاذاة الرقم إلى اليمين (الجزء الكسري) إلى 14 حرفًا. العلامة التي تحتاج إلى المحاذاة إلى اليمين هي الرمز -.

سلسلة التنسيق هي سلسلة أحرف عادية. يمكن إدراج التعبيرات المحسوبة فيه. في هذه الحالة ، تم استخدام المدخلات ($ cL) و ($ cR) لتمييز رقم آخر. هذا جعل سلسلة التنسيق أكثر وضوحًا وأسهل في الكتابة عبر جميع الأمثلة.

تنسيق سلسلة التشكيل

عمل PHP باللغة الروسية ، أو وظيفة sprintf ، هو عمل المترجم الفوري في بيئة طبيعية ومريحة. في الواقع ، تمثل صفحة HTML التي تحتوي على إدخالات تعليمات برمجية PHP أي سياق في أي لغة. هذه ليست الحرية التي توفرها JavaScript في بيئة المتصفح.

لعرض المحتوى الروسي بلغة PHP ، لا تحتاج إلى ترميز الأبجدية السيريلية ، ولكن في بعض الأحيان يتعين عليك استخدام وظيفة التحويل () iconv. على أي حال ، كل شيء يمكن الوصول إليه وقراءته.

النص الخاص بإدخال كود PHP في صفحة HTML مفهوم ومطلوب. التطبيق في سلسلة الأحرف:

القيمة المتغيرة ABC = ($ ABC) وحدات

لا يهم إدخال ($ ABC) إلا مرة واحدة ويتم إجراؤه مرة واحدة فقط.

ميزة تنفيذ كود PHP على الصفحة

مترجم فقط مرة واحدةيعرض الصفحة و فقط مرة واحدةيستبدل الإدخالات ($ ABC) بقيمها. يجوز للمبرمج ، حسب تقديره ، استخدام العبارة "فقط مرة واحدة"،إجبار PHP على الاقتراب من النتيجة المرجوة عدة مرات.

على أي حال ، بمجرد إرسال صفحة HTML إلى المتصفح ، لا يوجد كود PHP فيها.

إذا بدأ عنصر صفحة من المتصفح الاتصال بالخادم ، فيمكنه تشغيل نص PHP جديد. الإدخالات ($ ABC) هنا نسبية تمامًا وليس هناك ما يضمن أن النتيجة ستكون صحيحة. لكن استخدام sprintf في PHP هو ديناميكيات مثل هذا الاحتمال.

لا يمكن للمطور فقط الحصول على التنفيذ المطلوب لمثل هذا الإدراج ، ولكن أيضًا تغيير السلسلة التي ستمرر القيمة المطلوبة إليها.

لحظة تكوين المحتوى

من الطبيعي استخدام إمكانات PHP كوسيلة لتكوين إدخالات في صفحة HTML ، كأداة لتشكيل صفحة كاملة. هذا هو المكان الذي يبدأ فيه الموقع. بمجرد تشكيل الصفحة ، وفي الحقيقة يأتي زائر للموقع ، فوفقًا للمفاهيم الحديثة:

  • لا يمكن تغيير الصفحة ؛
  • مستخدم ليفتقده جداممنوع.

في الواقع ، جاء زائر للموقع وتلقى أول رد على شكل كود HTML. من الخطأ تمامًا تغيير هذه الإجابة - فهذا يعني إخبار الزائر أن الصفحة تقوم بتغييرها. لكن الصفحة ملزمة بالتفاعل مع تصرفات الزائر بشكل كاف وبمبادرته.

وصول الزائر هو الاستجابة الأولى. إجراء الزائر - استجابة الصفحة المناسبة والتحضير لجميع إجراءات الزائر القادمة المتوقعة.

تقع حصة كبيرة من المسؤولية عن ديناميكيات الصفحة بمبادرة من الزائر على JavaScript ، ولكنها تعمل فقط في المتصفح ، ويمكنها فقط إرسال طلبات AJAX إلى الخادم. يمكن لكل اتصال بالخادم تشغيل نص PHP. لكن لحظة تشكيل الصفحة ولحظة رد الفعل على الطلب تختلف اختلافًا كبيرًا.

تعد وظيفة sprintf في PHP مثالية لجدولة الاستجابة ديناميكيًا وتعبئتها بالقيمة المطلوبة.

تغيير كود PHP في وقت التشغيل

ولدت فكرة ديناميكيات الكود مع لغة البرمجة الأولى وهي موجودة في كل لغة برمجة حديثة اليوم.

يعتبر تنفيذ التعليمات البرمجية باستخدام EVAL (سطر من التعليمات البرمجية) ثغرة أمنية في الوقت الحالي ، ولكنه مفيد بقدر ما هو خطير.

لا تحتاج إلى استخدام وظيفة EVAL () اليوم لتغيير التعليمات البرمجية الخاصة بك في وقت التشغيل. إنها أكثر من مجرد وجبة فطور سريعة ، أمر واحد أو أمران ، وليس أساسًا عمليًا لبناء الديناميكيات الصحيحة.

تتيح لك وظيفة PHP sprintf () تصميم قالب نصي ، مثل رمز كائن ، والذي سيتم استدعاؤه بناءً على إجراء زائر معين. تعد الممارسة الراسخة لتسجيل أجسام الكائنات في شكل ملفات مستقلة حلاً مثاليًا لتغييرها أثناء تشغيل الموقع.

لا يسمح استخدام الأدوات التي تكمل وظيفة sprintf () فقط بتغيير الكائنات المستخدمة نتيجة لتصرفات زائر معين ، ولكن أيضًا لنقل هذه الديناميكيات للعمل مع زوار آخرين: هذا هو تطوير الموقع ، وديناميات وظائفها ، وتراكم الخبرة والمعرفة في العمل.

(PHP 4 ، PHP 5 ، PHP 7)

سبرينتف - ترجع سلسلة منسقة

قائمة المعلمات

تتكون سلسلة التنسيق من صفر أو أكثر من التوجيهات: أحرف عادية (باستثناء % ) ، والتي يتم نسخها مباشرة في السلسلة الناتجة ، و واصفات التحويل، يتم استبدال كل منها بأحد المعلمات. هذا ينطبق على كليهما سبرينتف ()و ل printf ().

يتكون كل محدد تحويل من علامة النسبة المئوية ( % ) متبوعًا بعنصر إضافي واحد أو أكثر (بالترتيب الذي تم سردها به هنا):

  1. اختياري واصف الحرفللإشارة إلى كيفية تطبيق علامة (- أو +) على الرقم. بشكل افتراضي ، يتم استخدام علامة الطرح فقط إذا كان الرقم سالبًا. يتسبب هذا المحدد في عرض أرقام موجبة لعلامة الجمع أيضًا ، وقد تمت إضافته في PHP 4.3.0.
  2. اختياري محدد الحشوالذي يحدد الحرف الذي سيتم استخدامه لملء النتيجة بالطول المطلوب. يمكن أن تكون مساحة أو 0 ... الافتراضي هو الفضاء. يمكن تحديد حرف بديل باستخدام اقتباس واحد ( " ). انظر الأمثلة أدناه.
  3. اختياري محدد المحاذاةالتي تحدد المحاذاة إلى اليسار أو اليمين. الحق مبرر بشكل افتراضي ، - تستخدم لمحاذاة اليسار.
  4. رقم اختياري ، محدد العرض، والتي تحدد الحد الأدنى لعدد الأحرف التي ستحتوي على نتيجة هذا التحويل.
  5. اختياري محدد الدقة، محدد كنقطة (".") متبوعة بسلسلة عشرية اختيارية تحدد عدد المنازل العشرية المراد عرضها لأرقام الفاصلة العائمة. عند استخدامه مع السلاسل ، يعمل المحدد كنقطة قطع تحدد الحد الأقصى لعدد الأحرف. يمكنك أيضًا تحديد الحرف المستخدم عند إكمال رقم بين نقطة ورقم.
  6. محدد النوعوالتي تحدد كيفية تفسير نوع بيانات الوسيطة. الأنواع الصالحة:

    • % - رمز النسبة المئوية. لم يتم استخدام الحجة.
    • ب- يتم التعامل مع الوسيطة على أنها عدد صحيح ويتم إخراجها كرقم ثنائي.
    • ج- يتم التعامل مع الوسيطة على أنها عدد صحيح ويتم عرضها كحرف برمز ASCII المناسب.
    • د- يتم التعامل مع الوسيطة كرقم صحيح ويتم عرضها كرقم عشري بعلامة.
    • ه- يتم التعامل مع الوسيطة كرقم في التدوين العلمي (على سبيل المثال ، 1.2e + 2). يحدد محدد الدقة عدد المنازل العشرية ، بدءًا من إصدارات PHP 5.2.1. في المزيد الإصدارات القديمةيشير إلى عدد الأرقام المهمة (علامة واحدة أقل).
    • ه- بصورة مماثلة ٪ هولكنه يستخدم حرفًا كبيرًا (مثل 1.2E + 2).
    • F- يتم التعامل مع الوسيطة كرقم فاصلة عائمة ويتم إخراجها أيضًا وفقًا للإعدادات المحلية.
    • F- يتم التعامل مع الوسيطة كرقم فاصلة عائمة ويتم عرضها أيضًا ، ولكن بدون تبعية اللغة. متاح منذ PHP 4.3.10 و PHP 5.0.3.
    • ز ٪ هو ٪ F.
    • جي- يختار أقصر دخول من ٪ هـو ٪ F.
    • ا- يتم التعامل مع الوسيطة على أنها عدد صحيح ويتم عرضها كرقم ثماني.
    • س- يتم التعامل مع الوسيطة كسلسلة.
    • ش- يتم التعامل مع الوسيطة على أنها عدد صحيح ويتم عرضها كرقم عشري بدون إشارة.
    • x- يتم التعامل مع الوسيطة على أنها عدد صحيح ويتم عرضها كرقم سداسي عشري (بأحرف صغيرة).
    • X- يتم التعامل مع الوسيطة على أنها عدد صحيح ويتم عرضها كرقم سداسي عشري (بأحرف كبيرة).

سيتم تحويل المتغيرات إلى النوع المناسب للمحدد:

اكتب المناولة
نوع من المحدد
سلسلة س
عدد صحيح د, ش, ج, ا, x, X, ب
مزدوج ز, جي, ه, ه, F, F

انتباه

يمكن أن تؤدي محاولة استخدام مجموعة من السلاسل ومحددات العرض مع الترميزات التي تتطلب أكثر من بايت واحد لكل حرف إلى نتائج غير متوقعة.

تدعم سلسلة التنسيق ترقيم وإعادة ترتيب المعلمات. على سبيل المثال:

المثال 1: تغيير ترتيب المعلمات

عدد دولارات الولايات المتحدة = 5 ؛
موقع $ = "شجرة" ؛

تنسيق $ = "٪ d قرود يجلسون على٪ s";

?>

هذا الرمز سيطبع "5 قرود جالسة في شجرة". تخيل الآن أن سلسلة التنسيق مضمنة في ملف منفصل، والتي ستتم ترجمتها بعد ذلك إلى لغة أخرى ، ونعيد كتابتها بهذا الشكل:

مثال # 2 تغيير ترتيب المعلمات

تنسيق $ = "٪ D قرود تجلس على٪ s";
echo sprintf (تنسيق $ ، $ num ، موقع $) ؛
?>

تظهر مشكلة: ترتيب واصفات التحويل لا يتطابق مع ترتيب الوسيطات. لا نريد تغيير الكود ، ونحتاج إلى تحديد الوسيطة التي يتوافق معها واصف التحويل هذا أو ذاك.

مثال # 3 تغيير ترتيب المعلمات

تنسيق $ = "٪ 1 $ d قرد جالس على٪ 2 $ s";
echo sprintf (تنسيق $ ، $ num ، موقع $) ؛
?>

ترقيم الوسيطة له استخدام آخر: فهو يسمح لك بطباعة نفس الوسيطة عدة مرات دون تمرير معلمات إضافية إلى الوظيفة.

مثال # 4 تغيير ترتيب المعلمات

تنسيق $ = "٪ 1 $ d قرد يجلس على٪ 2 $ s.
إنه لأمر رائع أن يكون لديك٪ 1 $ d قرد جالس على٪ 2 $ s ".
;
echo sprintf (تنسيق $ ، $ num ، موقع $) ؛
?>

عند تغيير ترتيب المعلمات مقبض الموقف ن $يجب أن تذهب مباشرة بعد علامة النسبة المئوية ( % ) قبل كل الواصفات الأخرى ، كما هو موضح في المثال أدناه.

المثال رقم 5 تحديد حرف المساحة المتروكة

echo sprintf ("٪". 9d \ n "، 123) ؛
echo sprintf ("٪". 09d \ n "، 123) ؛
?>

123 000000123

مثال # 6 استخدام واصف الموضع بالاشتراك مع واصفات أخرى

تنسيق $ = "٪ 1 $ 04d قرد يجلس على٪ 2 $ s";
echo sprintf (تنسيق $ ، $ num ، موقع $) ؛
?>

نتيجة هذا المثال:

هناك 0005 قردة جالسة على الشجرة

تعليق:

محاولة استخدام محدد موضع أكبر من PHP_INT_MAX، سوف يتسبب في إنشاء تحذير بواسطة الوظيفة سبرينتف () .

انتباه

ال جمحدد النوع يتجاهل الحشو والعرض

إرجاع القيم

تُرجع سلسلة منسقة وفقًا لسلسلة التنسيق.

أمثلة على

المثال رقم 7 سبرينتف (): مبطن بالأصفار

ن = 43951789 ؛
ش $ = - 43951789 ؛
ج = 65 دولارًا ؛ // ASCII 65 هي "A"

// ملاحظة ، يتم عرض ٪٪ مزدوج كـ "٪" مفردة
printf ("٪٪ b ="٪ b "\ n"، $ n)؛ // التمثيل الثنائي
printf ("٪٪ c ="٪ c "\ n"، $ c)؛ // يطبع حرف ascii ، مثل وظيفة chr ()
printf ("٪٪ d ="٪ d "\ n"، $ n)؛ // عدد صحيح منتظم
printf ("٪٪ e ="٪ e "\ n"، $ n)؛ // الترميز العلمي
printf ("٪٪ u ="٪ u "\ n"، $ n)؛ // تمثيل عدد صحيح بدون إشارة لرقم موجب
printf ("٪٪ u ="٪ u "\ n"، $ u)؛ // تمثيل عدد صحيح بدون إشارة لرقم سالب
printf ("٪٪ f ="٪ f "\ n"، $ n)؛ // تمثيل النقطة العائمة
printf ("٪٪ o ="٪ o "\ n"، $ n)؛ // التمثيل الثماني
printf ("٪٪ s ="٪ s "\ n"، $ n)؛ // خط
printf ("٪٪ x ="٪ x "\ n"، $ n)؛ // تمثيل سداسي عشري (أحرف صغيرة)
printf ("٪٪ X ="٪ X "\ n"، $ n)؛ // تمثيل سداسي عشري (أحرف كبيرة)

Printf ("٪٪ + d ="٪ + d "\ n"، $ n)؛ // واصف إشارة بعدد صحيح موجب
printf ("٪٪ + d ="٪ + d "\ n"، $ u) ؛ // محدد علامة مع عدد صحيح سالب
?>

نتيجة هذا المثال:

٪ b = "10100111101010011010101101"٪ c = "A"٪ d = "43951789"٪ e = "4.39518e + 7"٪ u = "43951789"٪ u = "4251015507"٪ f = "43951789.000000"٪ o = "247523255 "٪ s =" 43951789 "٪ x =" 29ea6ad "٪ X =" 29EA6AD "٪ + d =" +43951789 "٪ + d =" -43951789 "

المثال الثامن printf (): واصفات الأسطر

$ s = "قرد" ؛
$ t = "العديد من القرود"؛

Printf ("[٪ s] \ n"، $ s) ؛ // إخراج الخط العادي
printf ("[٪ 10s] \ n"، $ s) ؛ // المبرر الصحيح بالمسافات
printf ("[٪ -10s] \ n"، $ s) ؛ // اليسار محاذاة مع المسافات
printf ("[٪ 010s] \ n"، $ s) ؛ // تعمل الحشوة الصفرية أيضًا مع السلاسل
printf ("[٪" # 10s] \ n "، $ s)؛ // استخدم حرف المساحة المتروكة الخاص بك "#"
printf ("[٪ 10.10s] \ n"، $ t)؛ // التبرير الأيسر مع قطع 10 أحرف
?>