PHP Practice: Primerjava vrstic

PHP je dobro usmerjen za obdelavo informacij. Sintaksa jezika je predstavljena s kompletom funkcij za primerjavo, obdelavo vrstic in operaterji primerjave.

Vsak algoritem je zaporedje volitev in dejanj. Toda preden se odločite, morate nekaj primerjati z nečim. Linija je najmočnejši, najbolj učinkovit in praktičen mehanizem za upravljanje algoritma. Vrstice so predstavitev podatkov. In podatki so glavni predmet "skrbi" katerega koli algoritma.

Normalna logika "primerjava"

Na splošno jezik dinamične tipizacije ne povzroča nobenih posebnih razlik v podatkih, na primer v PHP, primerjava niza in števila je nekoliko drugačna. Številka je tudi niz, ki vsebuje le številke, piko in noben znak, ki se ne uporablja za predstavitev številke v kakršni koli obliki (matematična notacija).


V primeru vsebine se število avtomata združi s črto brez odvečnih vprašanj in brez skritih napak, tudi če funkcija gettype () poda 'integer' ali 'double'.
Vendar pa obstaja razlika med uporabo is_int () in is_numeric (). Prva podaja resnico, kadar je parameter samo celo število, drugi pa poljubno število ali numerični niz (spremenljivka ima vrsto »niz«, vendar vsebuje vse, kar je podano z matematičnim zapisom). Ta preprost primer je dober primer, kot v PHP, operaterji za primerjavo vrstic ('==', '===', '! =',) Lahko poda veliko presenečenj. Spremenljivke lahko spremenijo svoj tip, niso vedno številke, ampak skoraj vedno lahko vodijo do niza. VV skrajnem primeru bo to prazna vrstica.


Na podlagi zgoraj navedenega, na PHP, je funkcija primerjave vrstic najbolj priljubljena. Kaj izbrati, odloči o razvijalec. Na voljo je veliko možnosti do regularnih izrazov.

Meje razpoložljive funkcionalnosti

PHP-primerjava dveh vrstic je dobra funkcija "naredi" strpos () - najcenejša, resnična in praktična možnost. Če je rezultat te funkcije število, potem je enovito ena vrstica enaka drugi ali pa vstopi v drugo. Kardinalni kontrast, pa tudi popolnoma pravilen pristop - uporaba regularnih izrazov.
Če bo klic $ cResult = scCheckFileName ($ cStr) dal 'true', je niz ime datoteke warda. Imela bo samo eno možnost razširitve '.docx' in nobenih znakov v imenu: samo črke, številke in znaki '_', '-'. Funkcijo lahko preprosto pretvorimo v druge vrste datotek: $ cPtr = '/^([a-zA-Z0-9-_]{4239}).(html|js|css|png|jpg|docx|txt) {1 } $ /u '. Ta možnost preverjanja vrstice razširi obseg naloženega (na primer primerjava nizov PHP se uporablja za nalaganje datotek na strežnik brez ene možnosti za napako v vnosu) v html, js, css, z uporabo strpos () in preg_match () - skrajnosti.

Funkcija PHP: primerjava nizov

Arsenal primerjalnih nizskih jezikov ni le funkcija funkcije niza, ampak tudi vprašanje algoritma je vprašanje uporabe kombinacije slogov, pri čemer se uporabijo vse možnosti za doseganje zanesljivega in pravilnega rezultata. ystoho primerjava, ampak kombinacija iskanja ali zamenjavo takoj. Noben ukrep mora biti vedno ista primerjava,ker slednje ne vodi nujno k spremembi katere koli linije. Pogosto morate izbrati eno ali drugo vejo algoritma.
Običajna različica PHP-ja: primerjava vrstic se opravi s funkcijo int strcmp (s1 s2). Rezultat funkcije:
  • 0 - enake vrstice;
  • -1 - prva vrstica je manjša od druge;
  • 1 - prva vrstica je večja od druge.
  • V praksi to pomeni, da je prva vrstica v drugi, iz katere se odloča funkcija PHP (primerjava vrstic). Bolj omejena različica strpos (), saj lahko v slednjem primeru poznamo položaj vnosa. Funkcija strcmp () je občutljiva na velike in male črke. Če želite primerjati niz, ne da bi upoštevali velikost črk, PHP ponuja uporabo strcasecmp (). Sintaksa je podobna. V praksi morate pogosto delati s celotno linijo, vendar le z njenim delom. V ta namen niz PHP funkcij (primerjava nizov) vključuje strncmp (s1 s2 N). Tretji parameter kaže, da je primerjava le N-bajt. Rezultat je podoben strcmp ().

    Nizi, vrstice in primerjave

    Podatki so skoraj vedno predstavljeni z nizi. Če razmislimo o nizih, objektih ali informacijskih strukturah, potem so to le različne različice kombinacije enostavnejših stavkovnih struktur.
    Linearna polja in vrstice se lahko predstavijo na dopolnilni način. Preoblikovanje matrike v niz je funkcija implode (array, symbol), na primer: $ margins1 = implode (',', $ style- & gt; getInnerMargin ()); algoritem /delo uporabnika; $ margins2 = implode (',', $ style- & gt; getInnerMargin ()) omogoča spajanje vseh položajev objekta v element vrstice. Potem lahko izvedete primerjavo PHP-vrstic in hkrati: $ check = strcmp ($ margina1 $ margina2) in se prepričajte, da algoritem aliuporabnik je nekaj spremenil (ali ne). Če izvedete primerjavo na običajen način, se morate pomikati skozi elemente matrike. To se zgodi dlje in izgleda bolj okorno.

    Predmeti in strune

    Še bolj spektakularno uporabo PHP (primerjava vrstic) je mogoče izvajati z uporabo objektno usmerjenih idej. Sodoben pogled na predmete predvideva prisotnost njihovih lastnosti in metod. Prvi so ponavadi predstavljeni s številkami, vrsticami, nizi in drugimi predmeti. Drugi pa pogosto vključuje metode pisanja (put) v niz in obnovitev iz (get) vrstice.
    Za razliko od nizov objekt opravi svoje delo s svojimi lastnostmi in sodeluje z drugimi predmeti. Objekt je "kompetenten", ker so njegove lastnosti realne vrednosti za algoritem, program kot celoto.
    Ta trenutek zagotavlja osnovo in zmožnost beleženja zapisa v vrstici samo potrebne informacije in pri obnavljanju iz niza za obnovitev vseh delovnih lastnosti v želeno stanje. Običajno je v vsakem objektu pomembna in delovna (začasna) informacija. Uresničitev takšne ideje vam omogoča, da shranite ne le pomnilnik, prostor na disku, zapise baz podatkov, temveč tudi omogočite primerjavo nizov z enostavnejšimi in natančnejšimi sredstvi.

    Sintaksa in semantika

    PHP se dinamično razvija in njena funkcija tako v smislu primerjave linij kot v smislu njihove obdelave se nenehno izboljšuje. Vendar pa razvijalec ne preprečuje premikanja težišča v semantiko. Nedvomno je dobra funkcionalnost, vendar se lahko njena uporaba prenese v vsebinski del kode,predmetov Ko je algoritem predstavljen kot sistem interakcije med objekti, je videti veliko bolje kot zaporedje primerjav in dejanj v ravnem sekvenčnem, klasičnem slogu.

    Sorodne publikacije