RačunalaProgramiranje

PHP praksa: string usporedbu

PHP je usmjerena na dobre informacije rukovanje. Sintaksa jezika zastupljena potpuno funkcionalan set usporedbe funkcije, obrade struna, usporedbe operatora.

Svaki algoritam - niz izbora i akcija. No, prije nego što napravite izbor, trebate nešto s čim usporediti s nečim. Line - najviše prostran, učinkovit i praktičan kontrolni algoritam mehanizam. Line - varijanta prikaza podataka. Data - to je glavna tema „skrbi” bilo algoritma.

Obična logika „usporedba akcije”

U principu, dinamičan tipkanje jezik ne čini razlike u podacima, kao što su PHP usporedbu linije i broj nije mnogo drugačija. Broj - to je također niz, ako sadrži samo brojeve, točke i postoji niti jedan znak koji se ne koristi za predstavljanje brojeva u bilo kojem obliku (matematička notacija).

Ako kontenkatsii broj automatski spaja s linijom, bez pitanja i bez skrivene pogreške, čak i ako gettype () funkcija daje „cijeli broj” ili „dvostruko”.

Međutim, postoji razlika između korištenja is_int () i is_numeric (). Prvi daje istinu, samo kada je parametar je cijeli broj, drugo, kada se bilo koji broj ili numerički niz (varijabla tipa je „string”, ali ima sve pod uvjetom matematički zapis).

To je jednostavan primjer - dobar primjer kako PHP niz usporedbu operatera ( „==” „===” ... „=”!) Mogu prezentirati mnoga iznenađenja. Varijable mogu promijeniti vrstu, oni nisu uvijek brojeve, ali gotovo uvijek mogu dovesti do crte. U ekstremnom slučaju - to će biti prazan niz.

Na temelju navedenog, PHP niz usporedba funkcija je najpopularniji. Što točno izabrati, odlučiti developer. Mnogo opcija na raspolaganju do regularnih izraza.

Granice dostupne funkcionalna

PHP-usporedba dva reda je dobra „do” funkcija strpos () - najjeftinije, vjernicima i praktična opcija. Ako rezultat brojem funkcija, onda je jasno jedan niz jednaka drugi ili jednog dijela u drugi.

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

Ako funkcija $ cResult = scCheckFileName ($ CSTR) daje „istina”, a zatim je linija naziv datoteke vordovsky. On će imati samo jednu mogućnost širenja „.docx” i nema znakova u nazivu: samo slova, brojke i znakove ‘_’ ‘-’.

Funkcija se lako može pretvoriti u druge vrste 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 preuzimanje (npr, PHP niz usporedba primjenjuje „za upload datoteka na poslužitelju, bez šanse ulaznog greške”) za HTML, JS, CSS, ...

Korištenje strpos () i preg_match () - ekstrema. Oni nisu u izravnoj vezi s pitanjem usporednom razdoblju. No, pitanje algoritma - je stvar koristite kombinaciju stila, korištenje svih mogućnosti za postizanje pouzdanog i točan rezultat.

Funkcionalna PHP: string usporedbu

Arsenal jezik u usporedbi žice - čista, ne samo funkcija usporedba, ali i kombinacija pretraživanje ili zamjena izravno. Ne uvijek djelovati moraju podudarati s usporedbom, budući da potonji ne mora nužno dovesti do promjene u bilo kojem redu. Često morate odabrati jednu ili drugu granu algoritma.

Normalno inačica PHP: obavlja string usporedbu funkcija int strcmp (S1, S2).

Rezultat funkcije:

  • 0 - linija jednaki;
  • -1 - prvi niz slabije od drugog;
  • 1 - prvi više od drugog reda.

U praksi, to znači da je dio prvog reda u drugu, iz koje PHP funkcija (usporedbu redovi) odluči. Više ograničena verzija strpos (), jer je u tom slučaju moguće je znati položaj upisa.

strcmp () funkciju - osjetljiva. Ukoliko želite usporediti niz neosjetljivim, PHP nudi svojim strcasecmp (). Sintaksa je slična.

U praksi se često potrebna za rad ne s cijelom linijom, ali samo dio. Za ovu set funkcija PHP (string usporedbu) uključen strncmp (S1, S2, N). Treći parametar određuje izvođenje usporedbe samo N-bajta. Rezultat je sličan strcmp ().

Polja, žice i uspoređivanje

To su gotovo uvijek zastupa žice. Ako uzmemo u obzir polja, predmete ili podatkovne strukture, to je samo različite varijante kombinacija jednostavnog niza struktura.

Gudački nizovi i redovi mogu se osigurati na komplementaran način. Transformacija polja u niz funkcija urušavati (polje, simbol), na primjer: margins1 $ = urušavati ( '', $ style-> getInnerMargin ()); ... algoritam / korisnik ...; $ Margins2 = urušavati ( „”, $ style-> getInnerMargin ()) vam omogućuje spajanje svih objekta pozicije u nizu položaju.

Nakon toga možete izvesti PHP string usporedbu i odjednom: $ provjera = strcmp ($ margins1, $ margins2) i provjerite je li algoritam ili korisnik koji se nešto promijenilo (ili ne). Ako ste izvršili usporedbu na uobičajeni način, morat ćete sortirati niz elemenata. To traje duže i složenije.

Objekti i linija

Još više spektakularne korištenje PHP (string usporedbe) može se provoditi putem objektno-orijentirane ideje.

Moderna ideja od ponuda sugerira da su svojstva i metode. Bivši obično zastupa brojeva, žice, polja i drugih objekata. Potonji često uključuju tehnike snimanja (staviti) u oporavku liniji i od linije (dobiti).

Za razliku od polja, objekt ne rade sa svojim svojstvima i interakciju s drugim predmetima. Objekt „nadležni”, u kojem njegova svojstva su stvarne vrijednosti algoritma programa kao cjeline.

Ovaj trenutak daje osnovu i priliku za snimanje prilikom snimanja gudački samo potrebne podatke, te u oporavku linije za vraćanje svih radnih svojstava u željeno stanje. Obično, u svakom objektu postoje značajni informacije i rad (vrijeme). Provedba ove ideje omogućuje spremanje ne samo pamćenje, prostor na disku, iz baze podataka, ali i omogućuje usporedbu linije jednostavnije i preciznije sredstva.

Sintaksa i semantika

PHP razvija dinamično, a njegova funkcionalnost i što se tiče usporedbe nizova i stalno poboljšana u smislu njihovog liječenja. Međutim, ništa ne sprječava programer za pomicanje težišta na području semantike.

Bez sumnje, funkcionalnost je dobro, ali je njegova uporaba može prenijeti u smislu koda u objektima. Kada algoritam je predstavljen kao sustav interakcije između objekata, izgleda puno bolje nego uspoređivanje sljedova i radnje u izravnom sekvencom klasičnom stilu.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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