3 maaliskuun, 2022

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:

  1. string1 (pakollinen): Tämä parametri viittaa vertailussa käytettyyn ensimmäiseen merkkijonoon.
  2. string2 (pakollinen): tämä parametri viittaa vertailussa käytettyyn toiseen merkkijonoon.

paluuarvo

funktio Palauttaa satunnaisluvun arvon riippuen osuman kunnosta, joka saadaan:

  1. palauttaa 0, jos merkkijonot ovat yhtä suuret.
  2. Palauttaa negatiivisen arvon (< 0), jos string2 on suurempi kuin string1.
  3. 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

Vastaa

Sähköpostiosoitettasi ei julkaista.