RačunalaProgramiranje

PHP Praksa: poređenje string

PHP je usmjerena na dobro rukovanje informacijama. Sintaksa jezika je predstavljen potpuno funkcionalan skup odnosu funkcije, obrade niz, poređenje operatera.

Bilo koji algoritam - niz izbora i akcija. Ali prije nego što napravite izbor, treba vam nešto da se poredi sa nečim. Line - većina prostran, efikasan i praktičan mehanizam kontrole algoritam. Line - varijanta prikazivanje podataka. A podaci - to je glavna tema "zaštite" od bilo kojeg algoritma.

Obične logike "poređenje akcije"

U principu, dinamičan kucanje jezik ne postoje razlike u podacima, kao što su PHP odnosu linije i broj se ne razlikuje mnogo. Broj - to je i niz, kada sadrži samo brojke, točku i ne postoji jedan lik koji se ne koristi za predstavljanje brojeva u bilo kojem obliku (matematički zapis).

Ako kontenkatsii broj automatski spaja sa linijom, bez pitanja i bez skrivenih grešaka, funkcija čak i ako GetType () daje "cijeli broj" ili "double".

Međutim, postoji razlika između pomoću is_int () i is_numeric (). Prvi daje istina, samo kada je parametar je cijeli broj, drugo, kada bilo koji broj ili numerički niz (varijabla tipa je 'string', ali obuhvata sve pod uslovom matematički zapis).

Ovo je jednostavan primjer - dobar primjer kako usporedbu PHP niz operatora ( '==' '===' ... '='!) Može predstavljati mnogo iznenađenja. Varijable može promijeniti njihov tip, nisu uvijek brojke, ali gotovo uvijek mogu dovesti do linije. U ekstremnom slučaju - to će biti prazan niz.

Na osnovu navedenog, PHP poređenje niz funkcija je najpopularniji. Šta da izaberu, da odluči programera. Puno opcija na raspolaganju do regularnih izraza.

Granice dostupnih funkcionalnih

PHP-poređenje dva reda je dobra "do" funkcija strpos () - najjeftiniji, verni i praktična opcija. Ako rezultat broj funkcija, onda je jasno jedan niz je jednak u drugu ili jednog dijela u drugi.

Radikalno suprotno, ali i apsolutno pravo pristupa - korištenje regularnih izraza.

Ako je funkcija $ cResult = scCheckFileName ($ CStr) daje 'istina', onda je linija ime vordovsky datoteke. On će imati samo jednu opciju od proširenja ".docx" i ne znakove u imenu: samo slova, brojeva i slova '_', '-'.

Funkcija se može lako pretvoriti u druge tipove datoteka: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u. Ova varijanta proširuje raspon skeniranja linija downloada (npr poređenje PHP niz se primjenjuje "za upload datoteka na server, bez šanse ulaznih greška") za html, js, CSS, ...

Koristeći strpos () i preg_match () - ekstrema. Oni nisu u direktnoj vezi sa pitanjem period poređenja. Ali pitanje algoritma - je stvar koristeći kombinaciju stila, korištenje svih mogućnosti za postizanje pouzdan i tačan rezultat.

Funkcionalna PHP: poređenje string

Arsenal jezika u odnosu Strings - čist, ne samo funkcija poređenje, ali i kombinacija za pretraživanje ili zamjena direktno. Nije uvijek postupati mora se poklopiti sa Poređenja radi, jer ovo drugo ne mora nužno dovesti do promjene u bilo kojem redu. Često morate odabrati jedan ili drugi ogranak algoritma.

Normalno varijanta PHP: vrši poređenje niz funkcija int strcmp (S1, S2).

Rezultat funkcije:

  • 0 - linije su jednaki;
  • -1 - prvi niz je manje u odnosu na drugu;
  • 1 - prvi više nego u drugom redu.

U praksi, to znači da dio prvi red do drugog, od kojih PHP funkcija (poređenje redova) odlučuje. A više ograničena verzija strpos (), jer je u drugom slučaju to je moguće znati poziciju ulaska.

strcmp () funkcija - osjetljiva. Ako želite da uporedite string-neosjetljiv, PHP nudi svojim strcasecmp (). Sintaksa je slična.

U praksi se često potreban za rad ne sa cijelu liniju, već samo dio toga. Za ovaj skup funkcija PHP (poređenje string) koji se nalaze strncmp (S1, S2, N). Treći parametar određuje obavljanje poređenje samo N-bajta. Rezultat je sličan strcmp ().

Nizovi, gudače i upoređujući

Oni su gotovo uvijek predstavlja žice. Ako uzmemo u obzir nizovi, predmeta, ili strukture podataka, to je samo različite varijante kombinacija jednostavnog niza struktura.

String nizova i redova može pružiti na komplementaran način. Transformacija niza u niz funkcija Implode (niz, simbol), na primjer: $ margins1 = Implode ( ',', $ stilom> getInnerMargin ()); ... algoritam / korisnik ...; $ Margins2 = Implode ( ',', $ stilom> getInnerMargin ()) vam omogućava da spojiti sve pozicije objekta u nizu poziciju.

Onda možete izvesti PHP poređenje string, i odjednom: $ ček = strcmp ($ margins1, $ margins2) i pobrinite se da algoritam ili korisnik koji je nešto promijenio (ili ne). Ako izvršite usporedbu na uobičajeni način, morat ćete sortirati elemenata niza. To traje duže i kompliciranije.

Objekti i linija

Još spektakularnije upotrebu PHP (string usporedbe) mogu biti implementirani putem objektno orijentisanog ideje.

Moderne ideja objekata ukazuje na to da oni imaju svojstva i metode. Bivši su obično predstavljeni brojevima, žice, nizovi, i drugim predmetima. Potonji često uključuju tehnike snimanja (put) u skladu oporavak i od linije (dobiti).

Za razliku od polja, objekat obavlja posao sa svojim svojstvima i interakciji sa drugim objektima. Objekat "nadležni", u kojem svojim svojstvima su realne vrijednosti za algoritam programa u cjelini.

Ovaj trenutak daje osnovu i priliku za snimanje prilikom snimanja niza samo potrebne informacije, kao i na oporavak linije vratiti sve radne osobine u željeno stanje. Obično, u svakom objektu postoje značajne informacije i rade (vremenu). Implementacija ove ideje vam omogućuje da spremite ne samo memorija, prostor na disku, zapis baze podataka, ali i omogućava da se uporedi linije jednostavniji i precizniji način.

Sintakse i semantike

PHP se dinamično razvija, a njegova funkcionalnost kako u smislu usporedbe nizova i stalno poboljšanje u smislu njihovog tretmana. Međutim, ništa ne sprečava developer za pomicanje težišta na području semantike.

Nesumnjivo, funkcionalnost je dobro, ali je njegova upotreba može da se prenese u značenju kod objektima. Kada je algoritam predstavljen kao sistem interakcije između objekata, izgleda mnogo bolje nego što je sekvenca poređenja i radnje u direktnom nizu, klasičnom stilu.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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