تحليل سلسلة:
<?php$str = "age:30 الوزن:60 كجم";sscanf($str,age:%d الوزن:%dkg",$age,$weight);// إظهار الأنواع والقيمvar_dump($age,$weight );؟>تقوم الدالة sscanf() بتوزيع الإدخال من سلسلة وفقًا للتنسيق المحدد. تقوم الدالة sscanf() بتوزيع سلسلة إلى متغير بناءً على سلسلة تنسيق.
إذا قمت بتمرير وسيطتين فقط إلى الدالة، فسيتم إرجاع البيانات كمصفوفة. بخلاف ذلك، إذا تم تمرير معلمات إضافية، فسيتم تخزين البيانات التي تم تحليلها في هذه المعلمات. إذا كان عدد الفواصل أكبر من عدد المتغيرات التي تحتوي عليها، يحدث خطأ. ومع ذلك، إذا كان عدد الفواصل أقل من عدد المتغيرات التي تحتوي عليها، فإن المتغيرات الإضافية تحتوي على NULL.
الوظائف ذات الصلة:
printf() - إخراج سلسلة منسقة
sprintf() - يكتب سلسلة منسقة إلى متغير
sscanf ( سلسلة، تنسيق، arg1، arg2، arg ++ )
المعلمة | يصف |
---|---|
خيط | مطلوب. يحدد السلسلة المراد قراءتها. |
شكل | مطلوب. يحدد التنسيق الذي سيتم استخدامه. قيم التنسيق المحتملة: %% - يُرجع علامة النسبة المئوية % %c - الحرف المطابق لقيمة ASCII %d - رقم عشري بعلامة (سلبي، 0، موجب) %e - استخدم التدوين العلمي الصغير (على سبيل المثال 1.2e+2) %u - رقم عشري بدون إشارة (أكبر من أو يساوي 0) %f - رقم النقطة العائمة %o - رقم ثماني %s - سلسلة %x - رقم سداسي عشري (أحرف صغيرة) %X - رقم سداسي عشري (أحرف كبيرة) قيم التنسيق الإضافية. يجب وضعه بين % وحرف (على سبيل المثال %.2f): + (أضف + أو - أمام الرقم لتحديد إشارة الرقم. افتراضيًا، يتم وضع علامة على الأرقام السالبة فقط، ولا يتم وضع علامة على الأرقام الموجبة) ' (يحدد ما سيتم استخدامه كحشوة، والإعدادات الافتراضية هي مسافات. ويجب استخدامه مع محدد العرض. على سبيل المثال: %'x20s (استخدم "x" كحشوة)) - (قيمة متغيرة التعديل الأيسر) [0-9] (يحدد الحد الأدنى لعرض قيمة المتغير) .[0-9] (يحدد عدد المنازل العشرية أو الحد الأقصى لطول السلسلة) ملحوظة: إذا تم استخدام قيم التنسيق المتعددة أعلاه، فيجب استخدامها بالترتيب أعلاه ولا يمكن تعطيلها. |
arg1 | خياري. المتغير الأول لتخزين البيانات. |
arg2 | خياري. المتغير الثاني لتخزين البيانات. |
arg++ | خياري. المتغيران الثالث والرابع اللذان يقومان بتخزين البيانات. وهكذا. |
قيمة الإرجاع: | إذا قمت بتمرير وسيطتين فقط إلى الدالة، فسيتم إرجاع البيانات كمصفوفة. بخلاف ذلك، إذا تم تمرير معلمات إضافية، فسيتم تخزين البيانات التي تم تحليلها في هذه المعلمات. إذا كان عدد الفواصل أكبر من عدد المتغيرات التي تحتوي عليها، يحدث خطأ. ومع ذلك، إذا كان عدد الفواصل أقل من عدد المتغيرات التي تحتوي عليها، فإن المتغيرات الإضافية تحتوي على NULL. |
---|---|
نسخة PHP: | 4.0.1+ |
استخدم قيم التنسيق %s و%d و%c:
<?php$str = "إذا قسمت 4 على 2 ستحصل على 2";$format = sscanf($str,"%s %s %s %d %s %d %s %s %c"); print_r(تنسيق $);?>