أجهزة الكمبيوتربرمجة

PHP الممارسة: مقارنة السلسلة

وتركز PHP على معالجة المعلومات جيدا. ويمثل بناء الجملة للغة مجموعة وظيفية بالكامل من الوظائف مقارنة ومعالجة سلسلة، عوامل المقارنة.

أي خوارزمية - سلسلة من الخيارات والإجراءات. ولكن قبل أن تختار، كنت بحاجة الى شيء لمقارنتها مع شيء. خط - أكثر رحيب، فعالة وعملية آلية مراقبة الخوارزمية. خط - البديل من عرض البيانات. والبيانات - وهذا هو الموضوع الرئيسي "الرعاية" في أي خوارزمية.

المنطق العادي "المقارنة للعمل"

بشكل عام، واللسان الكتابة ديناميكية لا توجد فروق في البيانات، مثل خط مقارنة PHP وعدد لا يختلف كثيرا. عدد - هو أيضا سلسلة، عندما كان يحتوي على أرقام فقط، وأشر وليس هناك حرف واحد، والتي لا تستخدم لتمثيل الأرقام في أي شكل (التدوين الرياضي).

إذا كان رقم kontenkatsii يدمج تلقائيا مع الخط، أي الأسئلة التي طرحت وعدم وجود أخطاء خفية، وظيفة حتى لو gettype () يعطي "صحيح" أو "ضعف".

ومع ذلك، هناك فرق بين استخدام is_int () وis_numeric (). أول يعطي الحقيقة، فقط عندما تكون المعلمة هي عدد صحيح، وثانيا، عند أي رقم أو سلسلة رقمية (نوع المتغير 'سلسلة'، ولكن تشمل كل تقدم التدوين الرياضي).

هذا مثال بسيط - مثال جيد على كيفية عوامل المقارنة PHP سلسلة ( '==' '===' ... '='!) يمكن تقديم العديد من المفاجآت. يمكن للمتغيرات تغيير نوعها، فهي ليست دائما الأرقام، ولكن دائما تقريبا أنها يمكن أن تؤدي إلى خط. في الحالة القصوى - سيكون سلسلة فارغة.

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

حدود ما هو متاح وظيفية

PHP-المقارنة بين صفين جيدة "ليفعل" strpos وظيفة () - أرخص، والمؤمنين وخيارا عمليا. إذا نتيجة ل عدد وظيفة، فمن الواضح سلسلة واحدة تساوي أخرى أو لجزء واحد إلى آخر.

جذري عكس ذلك، ولكن أيضا على الاطلاق النهج الصحيح - استخدام التعابير العادية.

إذا كانت وظيفة $ cResult = scCheckFileName ($ كستر) يعطي "الحقيقي"، ثم خط هو اسم vordovsky الملف. وسوف يكون خيار واحد فقط من التوسع ". دوكإكس" وأية حروف اسم: رسائل فقط، أرقام وأحرف '_'، '-'.

وظيفة يمكن تحويلها بسهولة إلى أنواع أخرى من الملفات: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4،239})\.(html|js|css|png|jpg | دوكإكس | TXT) {1} $ / ش '. هذا البديل يوسع نطاق تحميل خط المسح (على سبيل المثال، يتم تطبيق مقارنة PHP سلسلة "لتحميل الملفات إلى الخادم، مع عدم وجود فرصة للخطأ في إدخال البيانات") لأتش تي أم أل، شبيبة، المغلق، ...

باستخدام strpos () وpreg_match () - النقيضين. لا ترتبط بشكل مباشر إلى مسألة فترة المقارنة. ولكن السؤال من الخوارزمية - هي مسألة باستخدام مزيج من نمط، واستخدام كل الفرص لتحقيق نتيجة موثوقة وصحيحة.

PHP الوظيفي: مقارنة السلسلة

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

عادي البديل PHP: يؤدي وظيفة مقارنة سلسلة الباحث strcmp (S1، S2).

نتيجة وظيفة:

  • 0 - متساوون الخط؛
  • -1 - السلسلة الأولى أقل من الثانية.
  • 1 - المزيد من أول من الصف الثاني.

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

strcmp () وظيفة - الحساسة. إذا كنت ترغب في مقارنة حساسة سلسلة، PHP تقدم strcasecmp لها (). بناء الجملة مشابه.

في الممارسة العملية غالبا ما يتطلب العمل وليس مع خط كامل، ولكن فقط جزء منه. لهذه المجموعة من وظائف PHP (مقارنة السلسلة) وشملت strncmp (S1، S2، N). وتشير المعلمة الثالثة لأداء المقارنة فقط N-بايت. والنتيجة هي strcmp مماثل ().

المصفوفات، سلاسل ومقارنتها

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

ويمكن توفير صفائف سلسلة والصفوف بطريقة تكاملية. تحويل مجموعة إلى تنهار الدالة سلسلة (صفيف، الرمز)، على سبيل المثال: $ margins1 = تنهار ( '،'، $ style-> getInnerMargin ())؛ ... خوارزمية / المستخدم ...؛ $ Margins2 = تنهار ( '،'، $ style-> getInnerMargin ()) يسمح لك لدمج كل من موضع الكائن في موقف السلسلة.

ويمكنك بعد ذلك إجراء مقارنة سلسلة PHP، وفي كل مرة: $ الاختيار = strcmp ($ margins1، $ margins2) والتأكد من أن خوارزمية أو المستخدم الذي لم يتغير شيء (أو لا). إذا قمت بإجراء مقارنة بالطريقة المعتادة، سيكون لديك لفرز عناصر المصفوفة. يستغرق وقتا أطول وأكثر تعقيدا.

الأشياء وخط

حتى أكثر إثارة استخدام PHP (مقارنات السلسلة) يمكن تنفيذها عن طريق الأفكار وجوه المنحى.

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

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

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

بناء الجملة وعلم الدلالة

PHP تطور حيوي وظائفه سواء من حيث سلاسل مقارنة وباستمرار تحسن من حيث معاملتهم. ومع ذلك، لا شيء يمنع المطور لنقل مركز الثقل في مجال علم الدلالة.

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ar.unansea.com. Theme powered by WordPress.