KompüterProqramlaşdırma

PHP Practice: string müqayisə

PHP yaxşı məlumat idarə yönəldilib. dil sintaksis müqayisə funksiyaları, simli emal, müqayisə operatorların tam funksional set təmsil olunur.

Hər hansı bir alqoritm - seçim və tədbirlər ardıcıllıqla. Bir seçim etmək əvvəl Lakin, bir şey ilə müqayisə üçün bir şey lazımdır. Line - ən tutumlu səmərəli və praktik alqoritm nəzarət mexanizmi. Line - data təqdimat bir variant. A data - bu hər hansı bir alqoritm "qayğı" əsas mövzusudur.

Adi məntiq "müqayisə fəaliyyət"

Ümumiyyətlə, dinamik yazaraq dil belə PHP müqayisə xətt kimi məlumatların heç bir fərqləri yoxdur və sayı çox fərqli deyil. Number - yalnız nömrələri, point var və hər hansı formada (riyazi notation) nömrələri təmsil etmək üçün istifadə deyil ki, bir xarakter yoxdur zaman da bir simli edir.

kontenkatsii sayı avtomatik xətti ilə əlaqələnir varsa, heç bir sual və heç bir gizli səhvlər, hətta gettype () funksiyası "tam" və ya "ikiqat" verir.

Lakin, is_int () və is_numeric istifadə arasında fərq var (). ilk parametr hər hansı bir sayı və ya rəqəmli string (dəyişən növü 'string ", lakin bütün təmin riyazi notation ibarətdir) zaman ikinci bir tam deyil yalnız həqiqəti verir.

Bu sadə misal - bir PHP string müqayisə operatorları (! == '' === '...' = ') bir çox sürprizlər təqdim edə bilər necə yaxşı bir nümunəsidir. dəyişənlər onlar həmişə nömrələri deyil, onların növü dəyişə bilər, lakin demək olar ki, hər zaman xətti gətirib çıxara bilər. həddindən artıq halda - bu boş string olacaq.

Yuxarıda əsasən, bir PHP string müqayisə funksiyası ən populyardır. dəqiq seçmək nə geliştirici qərar. normal ifadeler qədər mövcud variantları çox.

mövcud funksional sərhədləri

iki satır PHP-müqayisə) funksiyası strpos ( "do" yaxşı - sadiq və praktiki seçimi, ucuz. Əgər nəticəsində funksiyası sıra sonra aydın bir string başqa bir və ya bir hissəsi bərabərdir.

Radically qarşı, həm də tamamilə doğru bir yanaşma - normal ifadeler istifadə.

funksiyası $ cResult = scCheckFileName ($ cStr) 'true' verir, onda line fayl vordovsky adıdır. "_" Yalnız məktublar, rəqəm və simvol '-' O yalnız bir genişləndirilməsi "Docx seçimi və adı heç bir simvol var.

funksiyası asanlıqla faylları digər növ çevrilə bilər: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u. Bu variant html üçün (məsələn, PHP string müqayisə "giriş səhv heç bir şans ilə, bir server faylları yüklemek üçün" əlavə olunur) intervalında scan line downloadable uzanır, js, css, ...

strpos () və preg_match () istifadə - ifrata. Onlar birbaşa müqayisə dövrünün məsələ ilə bağlı deyil. Amma alqoritm sual - stil birləşməsi istifadə olsun, bütün imkanlardan istifadə etibarlı və düzgün nəticə əldə etməkdir.

Funksional PHP: string müqayisə

Arsenal dil müqayisədə strings - təmiz, yalnız müqayisə funksiyası, həm də birbaşa axtarış və ya əvəz birləşməsi. həmişə sonuncu mütləq hər hansı bir sıra bir dəyişiklik səbəb deyil bəri, müqayisə ilə üst-üstə olmalıdır hərəkət deyil. Tez-tez bir və ya alqoritm digər filialı seçmək lazımdır.

Normal variant PHP: string müqayisə funksiyası int strcmp reallaşdıran (s1, s2).

funksiyası nəticə:

  • 0 - line bərabərdir;
  • -1 - ilk simli ikinci az;
  • 1 - ikinci sırada daha ilk daha.

Təcrübədə, bu PHP funksiyası (müqayisə satır) qərar olan ikinci ilk sırada, bir hissəsi deməkdir. strpos () bir daha məhdud versiyası, ikinci halda mümkündür, çünki giriş mövqeyini bilmək.

strcmp () funksiyası - həssas. Siz simli-hissiz müqayisə etmək istəyirsinizsə, PHP onun strcasecmp təklif edir (). sintaksis kimi.

Təcrübədə tez-tez bütün xətti ilə işləmək üçün tələb olunan, lakin yalnız bir hissəsidir. funksiyaları bu dəsti üçün PHP (string müqayisə) (s1, s2, N) strncmp daxildir. Üçüncü parametr yalnız N-bytes müqayisə yerinə göstərir. nəticə oxşar strcmp () edir.

Diziler, strings və müqayisə

Bu demək olar ki, həmişə strings ilə təmsil olunur. biz Diziler, obyektlərin, və ya data strukturları nəzərə alsaq, bu, sadə string strukturlarının birləşməsi yalnız müxtəlif variantlar var.

String seriallarda və satır tamamlayıcı şəkildə təmin edilə bilər. misal üçün, bir string funksiyası Implode daxil array (array, rəmzi) transformasiyası: $ margins1 = Implode ( ',' $ style-> getInnerMargin ()); ... alqoritm / user ...; $ Margins2 = Implode ( ',' $ style-> getInnerMargin ()) Siz simli mövqeyi obyekt mövqeyi bütün etmək üçün imkan verir.

Daha sonra PHP string müqayisə çıxış və bir anda bilərsiniz: $ çek = strcmp ($ margins1, $ margins2) və əmin olun alqoritm və ya bir şey dəyişdi (və ya) etmişdir istifadəçi. adi şəkildə bir müqayisə aparmaq varsa, siz array elementləri düzmək lazımdır. Bu uzun çəkir və daha mürəkkəbdir.

Objects və xətt

Hətta daha möhtəşəm istifadə PHP (string müqayisə) obyekt-yönümlü ideyalar vasitəsilə həyata keçirilə bilər.

obyektlərin müasir ideya onlar xassələri və üsulları var olduğunu göstərir. Keçmiş adətən nömrələri, simlər, diziler, və digər obyektlərin ilə təmsil olunur. sonuncu tez-tez bərpa istiqamətində və xətti qeyd üsulları (qoymaq) (almaq) daxildir.

Diziler fərqli olaraq, obyekt öz xüsusiyyətləri ilə çalışır və digər obyektləri ilə qarşılıqlı. Object onun xassələri bütövlükdə proqram alqoritmi üçün real dəyər olan "səlahiyyətli".

Bu an bir əsas və bir simli yalnız lazımi məlumat qeyd zaman qeyd imkan verir, və xətti bərpa istənilən dövlət bütün iş xassələri bərpa etmək. Adətən, hər hansı bir obyekt əhəmiyyətli məlumat və iş (vaxt) var. bu ideyanın həyata keçirilməsi yalnız yaddaş, disk, verilənlər bazası rekord saxlamaq üçün imkan verir, həm də mümkün xətləri sadə və daha dəqiq deməkdir müqayisə edir.

Sintaksis və semantika

PHP dinamik inkişaf edir və onun funksionallığı, həm də daim müqayisə strings baxımından onların müalicə baxımından yaxşılaşmışdır. Lakin, heç bir şey semantika sahəsində ağırlıq mərkəzi hərəkət etmək üçün bir geliştirici qarşısını alır.

Şübhəsiz ki, funksionallıq yaxşı, lakin istifadə obyektlərində kodu mənası verilə bilər. alqoritm obyektlər arasında qarşılıqlı sistemi kimi təqdim olunur, o, birbaşa ardıcıllıqla, klassik üslubda ardıcıllıqla müqayisə və tədbirlər daha yaxşı görünür.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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