Praksa PHP: usporedba s nizom

PHP je prilično dobar u obradi podataka. Sintaksa jezika predstavlja čitav niz usporedbenih funkcija, obradu niza, operateri usporedbe.

usporedba php stringa

Svaki algoritam je niz izbora i akcija. Ali prije nego što odaberete, morate nešto usporediti s nečim. Žice - najlikvidniji, učinkovitiji i praktičniji mehanizam za upravljanje algoritmom. Linije - varijanta prikazivanja podataka. A podaci su glavni predmet "brige" bilo kojeg algoritma.

Uobičajena logika "usporedbene akcije"

Općenito, jezik dinamičko tipkanje ne čini nikakve posebne razlike u podacima, na primjer, u PHP-u, usporedba niza i broja nije mnogo drugačija. Broj je također niz kada sadrži samo znamenke, razdoblje, a ne postoji niti jedan znak koji se ne koristi za prikazivanje broja 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”.

php usporedba dviju žica

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 njihov tip, nisu uvijek brojevi, ali gotovo uvijek mogu dovesti do niza. U krajnjem slučaju to će biti prazan niz.

php operateri za usporedbu niza

Na temelju gore navedenog, u PHP-u funkcija usporedbe niza je najpopularnija. Koga odabrati, za rješavanje razvojnog programera. Mnoge su opcije dostupne do uobičajenih izraza.

Granice dostupnih funkcionalnosti

PHP-usporedba dvaju žica dobro je "učinjeno" funkcijom strpos () - najjeftinijom, pravom i praktičnom opcijom. Ako je Rezultat toga funkcija je broj, tada je jedinstveno jedna linija jednaka drugoj ili jedna ulazi u drugu.

Kardinalno suprotan, ali i apsolutno korektan pristup je korištenje regularnih izraza.

Primjer autora nije slika

Ako poziv na $ cResult = scCheckFileName ($ cStr) daje "istinit", onda je niz naziv datoteke vorda. On će imati samo jedno proširenje `.docx` i nema znakova u imenu: samo slova, brojevi i `_`, `-` znakovi.

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, ...

Upotreba strpos () i preg_match () je krajnost. Oni nisu izravno povezani s problemom usporedbe vremena. Ali pitanje algoritma je pitanje primjene kombinacije stilova, koristeći sve mogućnosti postizanja pouzdane i točne rezultate.

Funkcionalna PHP: usporedba niza



Arsenal jezika u odnosu na žice nije samo funkcija čiste usporedbe već kombinacija izravnog pretraživanja ili zamjene. Nije uvijek akcija trebala podudarati s usporedbom, jer potonja ne mora nužno dovesti do promjene u bilo kojoj liniji. Često je potrebno odabrati jednu ili drugu granu algoritma.

Uobičajena verzija PHP: usporedba niza provodi se funkcijom int strcmp (s1, s2).

Rezultat funkcije:

  • 0 - linije su jednake;
  • -1 - prva linija je manja od druge;
  • 1 - prvi redak je veći od drugog.

U praksi to znači da prva linija ulazi u drugu liniju, odakle funkcija PHP (nizovna usporedba) odlučuje. Ograničena verzija strpos (), jer u potonjem slučaju možete znati položaj unosa.

Funkcija strcmp () razlikuje velika i mala slova. Ako želite usporediti nizove bez osjetljivosti na slučaj, PHP predlaže upotrebu strcasecmp (). Sintaksa je slična.

U praksi, često je potrebno raditi ne cijelu liniju, već samo s njegovim dijelom. Za ovo, strncmp (s1, s2, N) je uključen u skup funkcija PHP (usporedba niza). Treći parametar pokazuje da se uspoređuju samo N-bajtovi. Rezultat je sličan strcmp ().

Rasporedi, žice i usporedbe

Podatke gotovo uvijek predstavljaju žice. Ako uzmemo u obzir polja, predmete ili informacijske strukture, onda su to jednostavno različite varijante kombinacije jednostavnijih struktura niza.

funkcija usporedbe funkcije php

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 izvršite usporedbu na uobičajeni način, morate razvrstati elemente polja. Potrebno je dulje i izgleda sve glupo.

Predmeti i žice

Čak i učinkovitije korištenje PHP (usporedba niza) može se provesti kroz objekte usmjerene ideje.

Moderna ideja objekata podrazumijeva prisutnost njihovih svojstava i metoda. Prve se obično predstavljaju brojevima, nizovima, nizovima i drugim objektima. Druga često uključuje metode pisanja (stavljanja) na niz i vraćanje iz niza (get).

Za razliku od polja, objekt obavlja rad s njegovim svojstvima i interakciju s drugim objektima. Objekt je "kompetentan" u onome što njezina svojstva imaju stvarnu vrijednost za algoritam, program u cjelini.

usporedba php stringa

Ovaj trenutak pruža osnovu i mogućnost rekorda da popravi u liniji samo potrebne informacije, te na obnovi iz linije da obnovi sva radna svojstva u potrebnom stanju. Obično u bilo kojem objektu postoje informacije bitne i radne (privremene). Provedba ove ideje omogućuje vam da ne samo spremite memoriju, prostor na disku, zapise baze podataka, već također omogućavate usporedbu nizova na jednostavniji i točniji način.

Sintaksa i semantika

PHP se dinamički razvija, a njegova funkcionalnost kako u smislu uspoređivanja žica, tako iu odnosu na njihovu obradu stalno se poboljšava. Međutim, ništa ne sprječava razvojnog programera da prebacuje težište na polje semantike.

Bez sumnje, funkcionalnost je dobra, ali njegova upotreba može se prenijeti na semantički dio koda, u objekte. Kada je algoritam predstavljen kao sustav interakcije objekata, izgleda puno bolje od redoslijeda usporedbi i djelovanja u izravnom serijskom, klasičnom stilu.

Dijelite na društvenim mrežama:

Povezan
jаvascript Array za pohranu neograničenog broja varijablijаvascript Array za pohranu neograničenog broja varijabli
Što funkcionira SQL CONCAT?Što funkcionira SQL CONCAT?
Što funkcionira PHP mikrotime funkcija?Što funkcionira PHP mikrotime funkcija?
String operater u Pascalovom nizuString operater u Pascalovom nizu
Korištenje funkcije eksplodira PHPKorištenje funkcije eksplodira PHP
SQL SUBSTRING funkcijaSQL SUBSTRING funkcija
Upotreba indeksa (jаvascript) prilikom rada s nizovima i nizovimaUpotreba indeksa (jаvascript) prilikom rada s nizovima i nizovima
jаvascript: rad s nizovima, funkcijejаvascript: rad s nizovima, funkcije
Učinkovite operacije na razini linije pomoću metode split jаvascriptUčinkovite operacije na razini linije pomoću metode split jаvascript
Upravljanje znakovima: jаvascript metoda substring ()Upravljanje znakovima: jаvascript metoda substring ()
» » Praksa PHP: usporedba s nizom
LiveInternet