KompiuteriaiProgramavimas

PHP praktika: styginių palyginimas

PHP yra orientuota į gerą informacijos tvarkymo. Iš kalbos sintaksė atstovavo visiškai funkcinis rinkinys palyginimo funkcijas, styginių perdirbimo, palyginimas operatorių.

Bet algoritmas - pasirinkimų ir veiksmų seka. Bet prieš jums padaryti pasirinkimą, jums reikia ką nors palyginti jį su kažkuo. Linija - labiausiai talpi, efektyvus ir praktiškas algoritmas kontrolės mechanizmas. Linija - duomenų pateikimo variantas. Duomenų - tai yra pagrindinis dalykas "priežiūros" bet algoritmas.

Įprasta logika "palyginimas-akcija"

Apskritai, dinamiška rašyti liežuvis daro Nr duomenų skirtumus, pavyzdžiui, PHP palyginimus linija ir šis skaičius yra ne daug skiriasi. Numeris - tai taip pat seka, kai ji yra tik skaičiai punktas ir ten yra ne vienas simbolis, kuris nėra naudojamas atstovauti skaičių bet kokia forma (matematinės žymėjimo).

Jei kontenkatsii numeris automatiškai susijungia su linija, jokių klausimų ir jokių paslėptų klaidų, net jei gettype () funkcija suteikia "sveikasis skaičius" arba "dvigubas".

Tačiau yra skirtumas tarp naudojant is_int () ir is_numeric (). Pirmoji suteikia tiesą, tik tada, kai parametras yra sveikasis skaičius, antra, kai bet koks skaičius ar skaičių seka (kintamasis tipas yra "STRING", bet apima visą pateiktą matematinį notacijos).

Tai paprastas pavyzdys - geras pavyzdys, kaip PHP eilutę palyginimo operatoriai ( "==" === '...' = '!) Gali pateikti daug staigmenų. Kintamieji gali keisti savo rūšį, jie ne visada numeriai, bet beveik visada jie gali sukelti linijos. Kraštutiniu atveju - tai bus tuščia eilutė.

Remiantis tuo, kas išdėstyta pirmiau, PHP eilutę palyginimas funkcija yra labiausiai populiarus. Kas tiksliai pasirinkti, nuspręsti kūrėjas. Daug variantų iki reguliarios išraiškos.

Turima funkcionalus ribos

PHP palyginimas dviejų eilučių yra gera "daryti" funkcija strpos () - pigiausias, tas ištikimas ir praktiškas pasirinkimas. Jei rezultato funkcijos numeris, tada aiškiai viena eilutė yra lygus į kitą arba iš vienos pusės į kitą.

Radikaliai priešinga, bet taip pat visiškai teisingas požiūris - iš reguliarios išraiškos naudojimas.

Jei funkcija $ cResult = scCheckFileName ($ cStr) suteikia "tiesa", tada linija yra failų vordovsky vardas. Jis turi tik vieną variantą plėtimosi ".docx" ir Nr pavadinimo simbolių: Tik raides, skaitmenis ir simbolius "_", "-".

Funkcija gali būti lengvai konvertuojami į kitų tipų failus: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u ". Šis variantas išplečia diapazonas skenavimo linijos parsisiunčiami (pvz, PHP eilutę palyginimas taikomas "įkelti failus į serverį, be jokių įvesties klaidos tikimybė) HTML, JS, CSS, ...

Naudojant strpos () ir preg_match () - kraštutinumų. Jie nėra tiesiogiai susiję su palyginimus laikotarpį klausimu. Tačiau algoritmo klausimas - yra naudojant stiliaus derinys reikalas, išnaudoti visas galimybes pasiekti patikimą ir teisingą rezultatą.

Funkcinis PHP: eilutės palyginimas

"Arsenal kalba palyginti be - grynas, ne tik palyginimas funkcija, bet ir tiesiogiai paiešką ar pakaitalas derinys. Ne visada veikti turi sutapti su palyginti, nes pastarasis nebūtinai sukelti bet eilės kaita. Dažnai jūs turite pasirinkti vieną ar kitą filialą algoritmo.

Normalus variantas PHP: atlieka styginių palyginimo funkcija int strcmp (S1, S2).

Iš funkcijos rezultatas:

  • 0 - linija yra lygūs;
  • -1 - pirmasis eilutė yra mažesnis už antrąjį;
  • 1 - pirmasis daugiau nei antros eilės.

Praktiškai tai reiškia, kad pirmoje eilutėje į antrą, iš kurio PHP funkcijai (palyginimus eilutės) nusprendžia dalį. Daugiau ribotas versija strpos (), nes pastaruoju atveju tai yra įmanoma žinoti įrašo poziciją.

strcmp () funkcija - jautri. Jei norite palyginti eilutė-nejautri, PHP siūlo savo strcasecmp (). Sintaksė yra panašus.

Praktikoje dažnai reikalaujama dirbti ne visą eilutę, bet tik jo dalis. Dėl šios funkcijų rinkinys PHP (eilutė palyginimas) įtraukti strncmp (S1, S2, N). Trečiasis parametras nurodo atlikti palyginimą tik N-baitų. Rezultatas yra panašus strcmp ().

Matricos, styginiams ir palyginti

Tai yra beveik visada atstovauja stygos. Jei mes manome, matricos, daiktus ar duomenų struktūras, tai tik įvairių variantų kombinacijų paprastos eilutės struktūras.

Styginių matricas ir eilutės gali būti pateikiama papildoma būdu. Transformacija masyvo į eilutės funkcijos implode (masyvas, simbolis), pavyzdžiui: $ margins1 = implode ( ',', $ style-> getInnerMargin ()); ... algoritmas / naudoti ...; $ Margins2 = implode ( ',', $ style-> getInnerMargin ()) leidžia sujungti visus objekto padėtį styginių padėtį.

Tada galite atlikti PHP eilutę palyginimą, ir tokiu laiku: $ čekis = strcmp ($ margins1, $ margins2) ir įsitikinkite, kad algoritmas ar vartotojas, kad kažkas pasikeitė (arba ne). Jei atlikti palyginimą įprastu būdu, jūs turite rūšiuoti masyvo elementus. Tai užtrunka ilgiau ir yra sudėtingesnis.

Objektai ir linijos

Dar daugiau įspūdingų naudoti PHP (string palyginimai) gali būti įgyvendintas per objektinių idėjas.

Modernus idėja įrenginių rodo, kad jie turi savybes ir metodus. Buvęs paprastai atstovauja numerius, stygos, matricos, ir kitų objektų. Pastarasis dažnai apima įrašymo metodai (įdėti) į atkūrimo linijos ir iš linijos (gauti).

Skirtingai masyvų, objektas daro darbą su savo savybių ir sąveikauja su kitų objektų. Objektas "kompetentinga", kurioje jos savybės yra nekilnojamojo vertės programos kaip visumos algoritmas.

Šis momentas suteikia pagrindą ir galimybę įrašyti įrašant eilutę tik reikiamą informaciją, ir linijos atkūrimo atkurti visas darbo savybes norimą būseną. Paprastai, bet objektas yra esminis informacijos ir darbo (laikas). Šios idėjos įgyvendinimas leidžia jums išsaugoti ne tik atmintyje, diske, duomenų bazės įrašas, bet taip pat leidžia palyginti linijos paprastesnes ir tikslesnius būdus.

Sintaksė ir semantika

PHP vystosi, o jo funkcionalumas tiek lyginant styginiams ir nuolat tobulinama atsižvelgiant į jų gydymą. Tačiau niekas netrukdo kūrėjas perkelti svorio centrą į semantikos srityje.

Be abejo, funkcionalumas yra gera, tačiau jo naudojimas gali būti perkeltas į objektus kodas prasme. Kai algoritmas pateikiamas kaip sąveikos tarp objektų sistema, ji atrodo daug geriau nei sekos palyginimų ir veiksmų tiesiogiai seka, klasikinio stiliaus.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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