PHP strcmp: kuinka verrata kahta merkkijonoa PHP
minkä tahansa ohjelmoinnin aikana tulee aina tilanteita, joissa pitää vertailla arvoja keskenään, ja jos arvot ovat Boolen tai kokonaislukuja, niin vertailu on yksinkertaista.
mutta jos haluat vertailla merkkijonoja tai niiden osia, niin vertailussa voi olla enemmänkin, kuten esim.
funktio vertaa kahta merkkijonoa ja kertoo, onko ensimmäinen merkkijono suurempi vai pienempi kuin toinen merkkijono vai yhtä suuri kuin toinen merkkijono.
PHP strcmp ()
PHP strcmp () on sisäänrakennettu funktio, joka vertaa kahta merkkijonoa. Strcmp ()-toiminto on binääriturvallinen ja kirjainkokoherkkä. Strcmp () – funktiota käytetään kahden merkkijonon vertailuun. Strcmp: n () funktio on kirjainherkkä, mikä muistuttaa, että pääoma-ja pienjutut käsitellään vertailun aikana eri tavalla.
syntaksi
katso seuraava syntaksi.
strcmp(string1, string2)
parametrit
tämä funktio hyväksyy kaksi parametria, jotka on kuvattu alla:
- string1 (pakollinen): Tämä parametri viittaa vertailussa käytettyyn ensimmäiseen merkkijonoon.
- string2 (pakollinen): tämä parametri viittaa vertailussa käytettyyn toiseen merkkijonoon.
paluuarvo
funktio Palauttaa satunnaisluvun arvon riippuen osuman kunnosta, joka saadaan:
- palauttaa 0, jos merkkijonot ovat yhtä suuret.
- Palauttaa negatiivisen arvon (< 0), jos string2 on suurempi kuin string1.
- palauttaa positiivisen arvon (> 0), jos string1 on suurempi kuin string2.
katso seuraava esimerkki.
<?phpecho strcmp("AppDividend", "AppDividend");
katso tuotos.
➜ pro php app.php0 ➜ pro
nyt ohitetaan kaksi eri kieltä.
<?phpecho strcmp("Eleven", "Millie Bobby Brown");
katso tuotos.
➜ pro php app.php-8 ➜ pro
otetaan nyt esimerkki, jossa string1 on suurempi kuin string2.
<?phpecho strcmp("Millie Bobby Brown", "Maddison");
katso tuotos.
➜ pro php app.php8 ➜ pro
näin siis verrataan kahta merkkijonoa PHP: ssä käyttäen strcmp () – funktiota.
= = operaattori
yleisin tapa nähdä kahden merkkijonon vertailu on yksinkertaisesti käyttämällä = = operaattoria. Jos kaksi merkkijonoa ovat yhtä suuret keskenään, se palauttaa true.
<?php// Using the == operator, Strings match is printedif('KRUNAL' == 'krunal'){ echo 'Strings match.';} else { echo 'Strings do not match.';}
katso tuotos.
➜ pro php app.phpStrings do not match. ➜ pro
tämä koodi palauttaa, että merkkijonot eivät olleet samassa tapauksessa. Se ei täsmää.
jos kaikki yhden merkkijonon kirjaimet olivat isoina, tämä palauttaa epätosi ja että kielet eivät täsmää.
tämä tarkoittaa, että emme voi käyttää = = – operaattoria verrattaessa merkkijonoja käyttäjän syötteistä; vaikka ensimmäinen kirjain olisi iso, se palauttaa epätosi.
joten meidän täytyy käyttää jotain muuta funktiota apuna merkkijonojen vertailussa.
PHP vertaa kahta merkkijonoa ja palauttaa erotuksen
Voimme käyttää similar_text () – funktiota, joka laskee kahden merkkijonon samankaltaisuuden.
se laskee kahden merkkijonon samankaltaisuuden, joka on kuvattu Ohjelmointiklassikossa: Maailman parhaiden algoritmien toteuttaminen Oliverin toimesta (ISBN 0-131-00413-1).
huomaa, että tässä toteutuksessa ei käytetä pinoa kuten Oliverin pseudokoodissa, mutta rekursiiviset puhelut saattavat nopeuttaa tai olla nopeuttamatta koko prosessia.
Huomaa myös, että tämän algoritmin monimutkaisuus on O(N**3), jossa N on pisimmän merkkijonon pituus.
katso seuraava esimerkki.
<?php$diff = similar_text('Krunal', 'Ankit', $perc);echo $diff;
katso seuraava tuotos.
➜ pro php app.php1 ➜ pro
lopulta PHP strcmp: n () esimerkki on ohi.
Recommended Posts
PHP str_split ()
PHP str_repeat ()
Object in PHP
basics Of Class In PHP