mars 3, 2022

PHP strcmp: hur man jämför två strängar i PHP

under någon programmering får du alltid situationer där du behöver jämföra värden med varandra, och om värdena är booleska eller heltal, är jämförelsen enkel.

men om du vill jämföra strängar eller delar av strängar, kan det finnas mer till jämförelsen, till exempel ett fall av strängen du jämför.

funktionen jämför de två strängarna och berättar om den första strängen är större eller mindre än den andra strängen eller lika med den andra strängen.

PHP strcmp()

PHP strcmp() är en inbyggd funktion som jämför två strängar. Strcmp () – funktionen är binärsäker och skiftlägeskänslig. Strcmp () – funktionen används för att jämföra två strängar. Strcmp () – funktionen är skiftlägeskänslig, vilket påpekar att kapital och små fall kommer att hanteras annorlunda under jämförelsen.

Syntax

se följande syntax.

strcmp(string1, string2)

parametrar

denna funktion accepterar två parametrar, som beskrivs nedan:

  1. sträng1 (obligatorisk): Denna parameter avser den första strängen som ska användas i jämförelsen.
  2. string2 (obligatorisk): denna parameter hänvisar till den andra strängen som ska användas i jämförelsen.

returvärde

funktionen returnerar det slumpmässiga heltalsvärdet beroende på matchningens skick, vilket ges av:

  1. returnerar 0 om strängarna är lika.
  2. returnerar ett negativt värde (< 0), om sträng2 är större än sträng1.
  3. returnerar ett positivt värde (> 0) om sträng1 är större än sträng2.

se följande exempel.

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

se utgången.

➜ pro php app.php0 ➜ pro

nu, låt oss passera två olika strängar.

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

se utgången.

➜ pro php app.php-8 ➜ pro

Låt oss nu ta ett exempel där sträng1 är större än sträng2.

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

se utgången.

➜ pro php app.php8 ➜ pro

så det här är hur man jämför två strängar i PHP med strcmp () – funktionen.

== operator

det vanligaste sättet att jämföra två strängar är helt enkelt genom att använda operatorn==. Om de två strängarna är lika med varandra, returnerar den Sant.

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

se utgången.

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

denna kod kommer att returnera att strängar inte var i samma fall. Det kommer inte att matcha.

om alla bokstäver i en sträng var i stora bokstäver, kommer detta att returnera falskt och att strängarna inte matchar.

det betyder att vi inte kan använda operatorn == när vi jämför strängar från användaringångar; även om den första bokstaven är stor, kommer den fortfarande att returnera false.

så vi måste använda någon annan funktion för att jämföra strängarna.

PHP jämför två strängar och returnera skillnaden

vi kan använda similar_text () – funktionen, som beräknar likheten mellan två strängar.

den beräknar likheten mellan två strängar som beskrivs i Programmeringsklassiker: implementera världens bästa algoritmer av Oliver (ISBN 0-131-00413-1).

Observera att denna implementering inte använder en stack som i Olivers pseudokod, men rekursiva samtal kan eller kanske inte påskynda hela processen.

Observera också att komplexiteten hos denna algoritm är O(N**3), där N är längden på den längsta strängen.

se följande exempel.

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

se följande utgång.

➜ pro php app.php1 ➜ pro

slutligen är PHP strcmp () – exemplet över.

rekommenderade inlägg

PHP str_split()

PHP str_repeat ()

objekt i PHP

grunderna i klass i PHP

Lämna ett svar

Din e-postadress kommer inte publiceras.