március 3, 2022

PHP strcmp: hogyan lehet összehasonlítani két karakterláncot a PHP-ben

bármely programozás során mindig olyan helyzeteket kap, ahol össze kell hasonlítani az értékeket egymással, és ha az értékek logikai vagy egész számok, akkor az összehasonlítás egyszerű.

de ha össze akarja hasonlítani a karakterláncokat vagy a karakterláncok részeit, akkor az összehasonlításban több is lehet, például az összehasonlított karakterlánc esete.

a függvény összehasonlítja a két karakterláncot, és megmondja, hogy az első karakterlánc nagyobb vagy kisebb, mint a második, vagy egyenlő a második karakterlánccal.

PHP strcmp()

PHP strcmp() egy beépített függvény, amely összehasonlítja a két karakterláncot. Az strcmp () függvény binárisan biztonságos és nagybetűérzékeny. Az strcmp () függvény két karakterlánc összehasonlítására szolgál. Az strcmp () függvény nagybetűérzékeny, ami rámutat arra, hogy az összehasonlítás során a tőke és a kis esetek eltérően kezelhetők.

szintaxis

lásd a következő szintaxist.

strcmp(string1, string2)

paraméterek

ez a funkció két paramétert fogad el, amelyeket az alábbiakban ismertetünk:

  1. string1 (kötelező): Ez a paraméter az összehasonlításban használt első karakterláncra vonatkozik.
  2. string2 (kötelező): ez a paraméter az összehasonlításban használt második karakterláncra vonatkozik.

visszatérési érték

a függvény a véletlenszerű egész értéket adja vissza a mérkőzés állapotától függően, amelyet a:

  1. 0 értéket ad vissza, ha a karakterláncok egyenlőek.
  2. negatív értéket ad vissza (< 0), ha a string2 nagyobb, mint a string1.
  3. pozitív értéket ad vissza (> 0), ha a string1 nagyobb, mint a string2.

Lásd az alábbi példát.

<?phpecho strcmp("AppDividend", "AppDividend");

lásd a kimenetet.

➜ pro php app.php0 ➜ pro

most, menjünk át két különböző húrok.

<?phpecho strcmp("Eleven", "Millie Bobby Brown");

lásd a kimenetet.

➜ pro php app.php-8 ➜ pro

most vegyünk egy példát, amelyben a string1 nagyobb, mint a string2.

<?phpecho strcmp("Millie Bobby Brown", "Maddison");

lásd a kimenetet.

➜ pro php app.php8 ➜ pro

tehát így lehet összehasonlítani két karakterláncot a PHP-ben az strcmp() függvény használatával.

== operátor

a két karakterlánc összehasonlításának leggyakoribb módja az == operátor használata. Ha a két karakterlánc egyenlő egymással, akkor true értéket ad vissza.

<?php// Using the == operator, Strings match is printedif('KRUNAL' == 'krunal'){ echo 'Strings match.';} else { echo 'Strings do not match.';}

lásd a kimenetet.

➜ pro php app.phpStrings do not match. ➜ pro

ez a kód visszaadja, hogy a karakterláncok nem voltak ugyanabban az esetben. Nem fog egyezni.

ha egy karakterlánc összes betűje nagybetűs volt, akkor ez hamis értéket ad vissza, és hogy a karakterláncok nem egyeznek.

ez azt jelenti, hogy nem használhatjuk a == operátort a felhasználói bemenetek karakterláncainak összehasonlításakor; még ha az első betű nagybetűs is, akkor is hamis lesz.

tehát valamilyen más funkciót kell használnunk a húrok összehasonlításához.

PHP hasonlítsa össze a két karakterláncot, és adja vissza a különbséget

használhatjuk a similar_text() függvényt, amely kiszámítja a két karakterlánc hasonlóságát.

kiszámítja a hasonlóság két húrok leírt Programming Classics: végrehajtása a világ legjobb algoritmusok Oliver (ISBN 0-131-00413-1).

vegye figyelembe, hogy ez a megvalósítás nem használ veremet, mint Oliver álkódjában, de a rekurzív hívások felgyorsíthatják vagy nem gyorsíthatják az egész folyamatot.

vegye figyelembe azt is, hogy ennek az algoritmusnak a bonyolultsága O(N**3), ahol N A leghosszabb karakterlánc hossza.

Lásd az alábbi példát.

<?php$diff = similar_text('Krunal', 'Ankit', $perc);echo $diff;

lásd a következő kimenetet.

➜ pro php app.php1 ➜ pro

végül a PHP strcmp() példa véget ért.

ajánlott bejegyzések

PHP str_split ()

PHP str_repeat ()

objektum a PHP-ben

az osztály alapjai a PHP-ben

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.