A PHP elég jó az információfeldolgozásban. A nyelv szintaxisát teljes funkcionalitású összehasonlító funkciók, szövegfeldolgozás, összehasonlító operátorok alkotják.

php string összehasonlítás

Bármely algoritmus a választás sorrendje ésintézkedéseket. De a választás előtt össze kell hasonlítanunk valamit valamivel. Húr - az algoritmus vezérlésének legteljesebb, hatékony és praktikus mechanizmusa. Vonalak - az adatok ábrázolásának egy változata. És az adatok az algoritmus "gondozásának" fő témája.

Az "összehasonlító cselekvés" szokásos logikája

Általában nem a dinamikus gépelés nyelvekülönös különbségeket mutat az adatokban, például a PHP-ben, a string és a szám összehasonlítása nem sok más. A szám is egy karakterlánc, ha csak számjegyeket, egy periódust tartalmaz, és nincs egyetlen olyan karakter sem, amelyet nem használunk a szám bármelyik formájának ábrázolásához (matematikai jelölés).

Számozás esetén a szám automatikusan összeolvad a sztring nélkül felesleges kérdések és rejtett hibák nélkül, még akkor is, ha a gettype () függvény "egész" vagy "kettős".

php két szál összehasonlítása

Van azonban különbség a funkció használata közöttis_int () és is_numeric (). Az első megadja az igazságot, ha a paraméter csak egy egész szám, a második pedig bármely szám vagy numerikus karakterlánc (a változó "string" típusú, de mindent tartalmaz, amit a matematikai jelölés biztosít).

Ez az egyszerű példa jó példa, mint a PHP-bena szöveges összehasonlító operátorok ("==", "===", "! =", ...) sok meglepetést adhatnak. A változók megváltoztathatják típusukat, nem mindig számok, de szinte mindig vezethetnek egy karakterlánchoz. Egy szélsőséges esetben ez üres karakterlánc lesz.

php string összehasonlító operátorok

A fentiek alapján a PHP-ben a string-összehasonlítás funkció a legnépszerűbb. Melyik választani, megoldani a fejlesztőt. Sok lehetőség áll rendelkezésre a rendszeres kifejezésekhez.

A rendelkezésre álló funkciók határai

A két karakterlánc PHP-összehasonlítását a függvény jól "elvégzi"A strpos () a legolcsóbb, jobb és praktikus lehetőség. Ha ennek a funkciónak az eredménye egy szám, akkor egyedileg egy sor egyenlő a másikkal, vagy másikba lép.

A kardinálisan ellentétes, de teljesen helyes megközelítés a szabályos kifejezések használata.

A szerző példája nem egy kép

Ha a függvény hívja a $ cResult = értéketA scCheckFileName ($ cStr) "true" -t ad, így a string a vordi fájl neve. Csak egy ".docx" kiterjesztésű opciót és egyetlen karaktert sem tartalmaz a névben: csak betűket, számokat és "_", "-" jeleket.

A funkció könnyen átalakítható másképptípusú fájlok: $ cPtr = „/^([a-zA-Z...0-9-_]{4,239}).(html|js|css|png|jpg|docx|txt){1}$/ u ". Ez a változat kiterjeszti a tartomány szkennelési vonal letölthető (például PHP string összehasonlító alkalmazzák „feltölteni a fájlokat a szerverre, ahol nincs lehetőség a beviteli hiba”) a html, js, css, ...

A strpos () és a preg_match () használatával -szélsőséges. Nem kapcsolódnak közvetlenül az időzítés összehasonlításához. De az algoritmus kérdése a stílusok kombinációjának kérdése, a megbízható és helyes eredmény elérésének minden lehetősége felhasználásával.

Funkcionális PHP: string összehasonlítás

A nyelv és a vonalak arzenálja nem csaka tiszta összehasonlítás funkciói, hanem közvetlenül a kereséssel vagy a cserevel kombinálva. Nem mindig kell az akciónak egyeznie az összehasonlítással, mert az utóbbi nem feltétlenül vezet semmiféle változáshoz. Gyakran szükség van az algoritmus egy vagy másik ágának kiválasztására.

A PHP szokásos verziója: a string összehasonlítást a int strcmp (s1, s2) függvény végzi.

Funkció Eredmény:

  • 0 - a vonalak egyenlők;
  • -1 - az első sor kevesebb, mint a második;
  • 1 - az első sor nagyobb, mint a második.

A gyakorlatban ez azt jelenti, hogy az elsőA második sor, ahonnan a PHP függvény (string összehasonlítás) dönt. A strpos () kevésbé korlátozott változata, mert az utóbbi esetben ismerheti a belépési pozíciót.

A strcmp () függvény kis- és nagybetűkre érzékeny. Ha szeretné összehasonlítani a sztringeket az eset-érzékenység nélkül, a PHP javasolja a strcasecmp () használatát. A szintaxis hasonló.

A gyakorlatban gyakran nem az egészet kell dolgozniline, de csak a maga részével. Ehhez a strncmp (s1, s2, N) szerepel a PHP függvények halmazában (sztring összehasonlítás). A harmadik paraméter azt jelzi, hogy csak az N-bájtokat hasonlítjuk össze. Az eredmény hasonló a strcmp () függvényhez.

Arrays, stringek és összehasonlítások

Az adatokat szinte mindig a húrok képviselik. Ha tömböket, objektumokat vagy információs struktúrákat veszünk figyelembe, akkor ezek egyszerűen az egyszerűbb struktúrák kombinációjának különböző változatai.

php string összehasonlító funkció

String tömbök és húrok lehetnekkiegészítõ módon mutatják be. Egy tömb átalakítása egy implode (tömb, szimbólum) függvényhez tartozó karakterláncba, például: $ margins1 = implode (",", $ style-> getInnerMargin ()); ... az algoritmus / felhasználó munkája ...; $ margins2 = implode (",", $ style-> getInnerMargin ()) lehetővé teszi az objektum összes pozíciójának a pozíció sorába való egyesítését.

Ezután futtathatja a PHP-string összehasonlítást és aegyszer: $ check = strcmp ($ margins1, $ margins2) és győződjön meg arról, hogy az algoritmus vagy a felhasználó valamit megváltoztatott (vagy nem). Ha az összehasonlítást a szokásos módon végzi, akkor a tömbök elemeit át kell rendezni. Több időt vesz igénybe, és egyre nehezebb.

Tárgyak és karakterláncok

A PHP még hatékonyabb használata (sztring összehasonlítás) objektumorientált ötletekkel valósítható meg.

A tárgyak modern eszméjefeltételezi tulajdonságaik és módszereik létezését. Az elsőt általában számok, húrok, tömbök és egyéb objektumok képviselik. A második gyakran magában foglalja a szövegírás (feltöltés) módjait a karakterlánctól és visszaállítja a karakterláncból (get).

A matricákkal ellentétben az objektum működiktulajdonságait, és kölcsönhatásban van más objektumokkal. Az objektum "kompetens" abban, hogy tulajdonságai valódi értékkel bírnak az algoritmus, a program egésze szempontjából.

php string összehasonlítás

Ez a pont alapos és lehetőséget teremtrögzíti, hogy egy sorban csak a szükséges információkat rögzítse, és egy sorból helyreállítsa az összes működő tulajdonság helyreállítását a szükséges állapotban. Általában bármely tárgyban van információ alapvető és működőképes (ideiglenes). Ennek az ötletnek a megvalósítása lehetővé teszi, hogy ne csak a memóriát, a lemezterületet, az adatbázis-rekordokat mentse, hanem lehetővé teszi a húrok egyszerűbb és pontosabb összehasonlítását is.

Szintaxis és szemantika

A PHP dinamikusan fejlődik, és funkcionalitása aa vonalak összehasonlítása, feldolgozása tekintetében folyamatosan javul. Azonban semmi sem akadályozza meg a fejlesztőt abban, hogy a súlypontot a szemantika területére vigye át.

Kétségtelen, hogy a funkcionális jó, de azA felhasználás átvihető a kód szemantikai részébe, tárgyakká. Ha az algoritmus az objektumok interakciójának rendszere, akkor sokkal jobbnak tűnik, mint a soros, klasszikus stílusban végzett összehasonlítások és műveletek sorozata.

</ p>