RačunalnikiProgramiranje

PHP Vaja: primerjava nizov

PHP se osredotoča na dobro ravnanje informacij. Skladnja jezika predstavlja popolnoma funkcionalen sklop primerjavo funkcij, predelavo godalni, subjektov primerjave.

Any algoritem - zaporedje odločitev in dejanj. Toda preden se odločiti, boste potrebovali nekaj, da jo primerjati z nečim. Line - najbolj Prostora, učinkovit in praktičen mehanizem za nadzor algoritem. Line - varianta predstavitve podatkov. Podatkovni - to je glavni predmet "skrbi" za katerega koli algoritma.

Redni logika "primerjava akcijski"

Na splošno velja, dinamično tipkanje jezik pa nobenih razlik v podatkih, kot so PHP primerjava linijo in število ni veliko drugačna. Število - je tudi niz, če vsebuje samo številke, točko in ni en sam znak, ki se ne uporablja za predstavitev števil v nobeni obliki (matematičnem zapisu).

Če kontenkatsii številka samodejno združi s črto, brez vprašanj in brez skritih napak, funkcija tudi če gettype () daje "celo število" ali "dvojno".

Vendar pa obstaja razlika med uporabo is_int funkcije () is_numeric in (). Prvi daje resnici le takrat, ko je parameter celo število, po drugi strani, če (spremenljivka tipa je "niz", ki pa zajema vse iz matematičnega zapisa) poljubno število ali numerični niz.

To je preprost primer - dober primer, kako upravljavci a PHP niz primerjava ( '==' '===' ... '='!), Lahko predstavljajo veliko presenečenj. Spremenljivke, ki lahko spremenijo svoje vrste, niso vedno številke, vendar pa skoraj vedno pa lahko privede do črte. V skrajnem primeru - bo prazen niz.

Na podlagi navedenega, PHP funkcija niz primerjava je najbolj priljubljen. Kaj točno, da izberejo, da se odloči razvijalec. Veliko možnosti, ki so na voljo do regularnih izrazov.

Meje na voljo funkcionalna

PHP-primerjava dveh vrstic je dobro "narediti" funkcija strpos () - najcenejši, zvesti in praktična možnost. Če je zaradi številnih funkcij, potem je jasno, en niz je enaka drugega ali enega dela v drugega.

Radikalno nasprotje, ampak tudi popolnoma pravilen pristop - uporaba regularnih izrazov.

Če funkcija $ cResult = scCheckFileName ($ cStr) daje "prave", potem je linija je ime datoteke vordovsky. On bo imel samo eno možnost širitve ".docx" in nobenih znakov v imenu: samo črke, številke in znake "_", "-".

Funkcijo je mogoče zlahka pretvoriti v druge vrste datotek: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u ". Ta varianta se razteza območje optično linijo si jih lahko naložite na (npr, je PHP primerjava nizov, ki se uporablja "za nalaganje datotek na strežnik, brez možnosti za vnos napake") za html, js, css, ...

Uporaba strpos () in preg_match () - ekstreme. Oni niso neposredno povezani z vprašanjem primerjalnem obdobju. Toda vprašanje algoritma - je stvar s kombinacijo sloga, uporaba vseh možnosti za dosego zanesljivega in pravilnega rezultata.

Funkcionalna PHP: primerjava nizov

Arsenal jezik v primerjavi godala - čista, ne samo funkcija primerjava, ampak tudi kombinacija iskanja ali nadomestek neposredno. Ni vedno delovati mora sovpadati s primerjavo, saj ta ni nujno privede do sprememb v nobeni vrsti. Pogosto boste morali izbrati eno ali drugo vejo algoritma.

Običajna različica PHP: opravi primerjanje nizov funkcija int strcmp (s1, s2).

Rezultat funkcije:

  • 0 - črta enaki;
  • -1 - prvi niz je manjši od drugega;
  • 1 - prvi več kot drugi vrsti.

V praksi to pomeni, da je del prvi vrsti do drugega, iz katerega funkcija PHP (primerjava vrstic) odloči. Bolj omejeno različico strpos (), ker v tem primeru je mogoče vedeti položaj začetka.

strcmp () funkcija - občutljiva. Če želite primerjati niz, neobčutljiv, PHP ponuja svojo strcasecmp (). Sintaksa je podobna.

V praksi se pogosto zahteva, da ne dela s celotno linijo, ampak le del nje. V ta sklop funkcij PHP (primerjava nizov) vključena strncmp (s1, s2, N). Tretji parameter določa izvedbo primerjave samo N-bajtov. Rezultat je podoben strcmp ().

Nizi, godala in primerjavo

Ti so skoraj vedno predstavljajo strune. Če upoštevamo nizi predmetov, ali podatkovne strukture, ki so preprosto različic kombinacije preprostih niz struktur.

String polja in vrstic se lahko zagotovi na komplementaren način. Transformacija matrike v funkcionalni niz implodirajo (diod, simbol), na primer: $ margins1 = implodiral ( ',' $ style®-> getInnerMargin ()); ... algoritem / uporabnik ...; $ Margins2 = implodiral ( ',' $ style®-> getInnerMargin ()) omogoča, da se združijo vse pozicijo objekta v položaju niza.

Nato lahko izvedete niz primerjavo PHP, in naenkrat: $ pregled = strcmp ($ margins1, $ margins2) in se prepričajte, da algoritem ali uporabnik, ki se je nekaj spremenilo (ali ne). Če izvedete primerjavo na običajen način, boste morali razvrstiti matrike elementov. To traja dlje in je bolj zapleteno.

Objekti in linije

Še bolj spektakularna uporabo PHP (niz primerjave) se lahko izvajajo s pomočjo objektno usmerjenih idej.

Ideja sodobne objektov kažejo, da imajo lastnosti in metode. Prve so običajno predstavljajo številke, strune, nizi, in drugih predmetov. Slednje pogosto vključujejo snemalne tehnike (dal) v skladu obnovitev in iz linije (dobil).

Za razliko od polj, objekt ne dela s svojimi lastnostmi in komunicira z drugimi predmeti. Predmet "pristojni", v katerem so njegove lastnosti realne vrednosti za algoritem programa kot celote.

Ta trenutek je podlaga in priložnost za snemanje pri snemanju niz le potrebne informacije, in pri izterjavi linije za obnovitev vseh delovnih lastnosti v želenem stanju. Ponavadi, v vsakem objektu obstajajo tehtni informacije in dela (čas). Izvajanje te ideje vam omogoča, da shranite ne le spomin, prostor na disku, zapis baze podatkov, hkrati pa je mogoče primerjati linije enostavnejše in natančnejše sredstva.

Sintakso in semantiko

PHP razvija dinamično in njegova funkcionalnost z vidika primerjave nizov in nenehno izboljšujemo v smislu njihovega zdravljenja. Vendar pa nič ne preprečuje, da bi razvijalec premakniti težišče na področju semantike.

Nedvomno, funkcionalnost je dober, vendar je njegova uporaba lahko prenesejo v smislu kode v objektih. Ko je algoritem predstavljen kot sistem interakcije med objekti, izgleda veliko bolje kot primerjav zaporedje in ukrepe v neposrednem zaporedju, klasičnem stilu.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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