TietokoneetOhjelmointi

PHP Practice: merkkijonon vertailu

PHP keskittyy hyvää tietoa käsittelystä. Syntaksi kielen edustaa täysin toimiva joukko vertaamisen, string käsittely, vertailuoperaattoreita.

Mikä tahansa algoritmi - sekvenssin valintoja ja toimia. Mutta ennen kuin teet valinnan, tarvitset jotain verrata sitä jotain. Linja - kaikkein tilava, tehokas ja käytännöllinen algoritmi valvontamekanismia. Linja - muunnelma tietojen esittämisen. Tietojen - tämä on tärkein aihe "hoitoa" mitään algoritmia.

Tavallinen logiikka "vertailu-toiminta"

Yleisesti, dynaaminen kirjoittamalla kieli ei ole eroja tietoja, kuten PHP vertailu linja ja määrä ei ole kovin erilainen. Numero - se on myös merkkijono, jos se sisältää vain numeroita, piste ja ei ole yksi merkki, joka ei ole tottunut edustamaan numeroita missään muodossa (matemaattinen).

Jos kontenkatsii numeron automaattisesti yhteneväisiä, ei kysymyksiin eikä piilotettu virheitä, vaikka getType () toiminto antaa 'kokonaisluku' tai 'double'.

On kuitenkin eroa käyttäen is_int () ja is_numeric (). Ensimmäinen antaa totuus, vain silloin, kun parametri on kokonaisluku, toinen, kun mikä tahansa numero tai numerojono (muuttuja tyyppi on 'jono', mutta käsittää kaikki edellyttäen matemaattinen).

Tämä on yksinkertainen esimerkki - hyvä esimerkki siitä, kuinka PHP merkkijonon vertailu toimijoiden ( '==' '===' ... '! =) Voi esittää monia yllätyksiä. Muuttujat voivat muuttaa tyyppiä, ne eivät aina ole numeroita, mutta lähes aina ne voivat johtaa linjaa. Ääritapauksessa - se on tyhjä merkkijono.

Perustuu edellä, PHP merkkijonon vertailu funktio on suosituin. Mitä valita, päättää kehittäjä. Paljon vaihtoehtoja jopa säännöllisiä lausekkeita.

Rajojen käytettävissä funktionaalisen

PHP-vertailu kahdessa rivissä on hyvä "tehdä" -toiminto strpos () - halvin, uskollinen ja käytännöllinen vaihtoehto. Jos tulos funktion numero, niin selvästi yksi merkkijono on yhtä suuri kuin toinen tai toiseen osaan.

Radikaalisti päinvastainen, mutta myös ehdottomasti oikea lähestymistapa - käyttö säännöllisiä lausekkeita.

Jos toiminto $ cResult = scCheckFileName ($ CSTR) antaa 'true', sitten linja on tiedoston nimi vordovsky. Hän on vain yksi vaihtoehto laajentamiseen 'docx' eikä mitään merkkejä nimessä: vain kirjaimia, numeroita ja merkkejä '_', '-'.

Toiminto voidaan helposti muuntaa muita tiedostoja: $ cPtr = '/^([a-zA-Z...0-9\-\_]{4,239})\.(html|js|css|png|jpg | docx | txt) {1} $ / u'. Tämän muunnelman laajennetaan niiden pyyhkäisyjuovan ladattavia (esim., PHP merkkijonon vertailu on sovellettu "lähettää tiedostoja palvelimelle, jossa ei ole mahdollisuutta syöttää error") html, js, CSS, ...

Käyttämällä strpos () ja preg_match () - ääripäitä. Ne eivät liity suoraan kysymykseen vertailukaudesta. Mutta kysymys algoritmin - on kysymys käyttämällä yhdistelmä tyyliä, käyttää kaikkia mahdollisuuksia saavuttaa luotettavan ja oikean tuloksen.

Toiminnallinen PHP: merkkijonon vertailu

Arsenal kieli verrattuna jouset - puhdas, ei vain vertailun toiminto, vaan myös yhdistelmä etsintä tai korvike suoraan. Eivät aina toimi oltava sama vertailun, koska jälkimmäinen ei välttämättä johda muutokseen millään rivillä. Usein sinun täytyy valita yksi tai toinen haara algoritmin.

Normaali variantti PHP: suorittaa merkkijonon vertailu funktio int strcmp (s1, s2).

Tulos toiminto:

  • 0 - linja ovat yhtä suuria;
  • -1 - ensimmäinen merkkijono on pienempi kuin toinen;
  • 1 - ensimmäinen enemmän kuin toinen rivi.

Käytännössä tämä tarkoittaa sitä, että osa ensimmäisen rivin toisen, josta PHP funktio (vertailu riviä) reagoi. Rajoitetumpi versio strpos (), koska jälkimmäisessä tapauksessa on mahdollista tietää paikan merkinnän.

strcmp () funktio - herkkä. Jos haluat verrata merkkijonon tunteeton, PHP tarjoaa strcasecmp (). Syntaksi on samanlainen.

Käytännössä usein työskenneltävä eikä koko linjan, mutta vain osa sitä. Tämän joukon toimintoja PHP (merkkijonon vertailu) mukana strncmp (s1, s2, N). Kolmas parametri määrittää suorittaa vertailun vain N-tavua. Tulos on samanlainen strcmp ().

Taulukot, jousille ja vertaamalla

Nämä ovat lähes aina edustaa jouset. Jos ajatellaan taulukot, esineiden tai tietorakenteita, se on vain eri versioita yhdistelmiä yksinkertaisen merkkijonon rakenteita.

Merkkijono taulukot ja rivit voidaan järjestää tavalla, joka täydentää. Transformation array osaksi merkkijono implode (jono, symboli), esimerkiksi: $ margins1 = implode ( '', $ tyyli-> getInnerMargin ()); ... algoritmi / käyttäjä ...; $ Margins2 = implode ( '', $ tyyli-> getInnerMargin ()) avulla voit yhdistää kaikki esineen aseman jono asennossa.

Tämän jälkeen voit suorittaa PHP merkkijonon vertailu, ja kerrallaan: $ check = strcmp ($ margins1, $ margins2) ja varmista, että algoritmi tai käyttäjä että jotain on muuttunut (tai ei). Jos teet vertailu tavalliseen tapaan, sinun täytyy lajitella taulukon alkiot. Se kestää kauemmin ja on monimutkaisempi.

Esineet ja linja

Mahtavampi käyttää PHP (merkkijono vertailut) voidaan toteuttaa kautta olio ideoita.

Moderni ajatus tiloista viittaa siihen, että niillä on ominaisuuksia ja menetelmiä. Entinen yleensä edustaa numeroita, jouset, taulukot, ja muita esineitä. Jälkimmäinen usein tallennustekniikkoihin (laita) talteenottolinjassa ja riviltä (päästä).

Toisin paneelit, esine tekee työn omalla ominaisuuksia ja vuorovaikutuksessa muita esineitä. Objekti "toimivaltainen", jossa sen ominaisuudet ovat todellista arvoa algoritmi koko ohjelman.

Tämä hetki tarjoaa perustan ja mahdollisuuden tallentaa, kun tallennetaan merkkijono vain tarvittavat tiedot, ja elpyminen linjan palauttaa kaikki työskentelevät halutuilla tilassa. Yleensä millään esine on huomattava määrä tietoa ja työ (aika). Täytäntöönpanoa tämän ajatuksen voit säästää paitsi muistia, levytilaa, tietokanta kirjaa, mutta mahdollistaa myös vertailla linjat yksinkertaisemmin ja täsmällisemmin keinoin.

Syntax ja semantiikka

PHP kehittyy dynaamisesti, ja sen toimivuutta olipa kyse vertaillaan jousille ja parannetaan jatkuvasti mitattuna niiden hoidon. Mikään ei kuitenkaan estä kehittäjä siirtää painopisteen alalla semantiikkaa.

Epäilemättä, toimivuus on hyvä, mutta sen käyttö voidaan siirtää merkityksessä koodin esineitä. Kun algoritmi on esitetty järjestelmä vuorovaikutusta objektien, se näyttää paljon paremmalta kuin sekvenssin vertailut ja toimia suorassa järjestyksessä, klassiseen tyyliin.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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