3 marca, 2022

PHP strcmp: jak porównać dwa ciągi znaków w PHP

podczas dowolnego programowania zawsze pojawią się sytuacje, w których musisz porównać wartości ze sobą, a jeśli wartości są logiczne lub całkowite, porównanie jest proste.

ale jeśli chcesz porównać ciągi lub ich części, to może być więcej do porównania, na przykład przypadek ciągu, który porównujesz.

funkcja porównuje dwa ciągi i mówi nam, czy pierwszy ciąg jest większy czy mniejszy niż drugi ciąg lub jest równy drugiemu ciągowi.

PHP strcmp ()

PHP strcmp() jest wbudowaną funkcją porównującą dwa ciągi znaków. Funkcja strcmp () jest binarna i rozróżnia wielkość liter. Funkcja strcmp () służy do porównywania dwóch łańcuchów. Funkcja strcmp () rozróżnia wielkość liter, co wskazuje, że duże i małe przypadki będą traktowane inaczej podczas porównania.

składnia

zobacz następującą składnię.

strcmp(string1, string2)

parametry

ta funkcja akceptuje dwa parametry, które są opisane poniżej:

  1. string1 (obowiązkowe): Ten parametr odnosi się do pierwszego łańcucha, który ma być użyty w porównaniu.
  2. string2 (obowiązkowe): ten parametr odnosi się do drugiego łańcucha do porównania.

Zwraca wartość

funkcja zwraca losową wartość całkowitą w zależności od warunku dopasowania, która jest podana przez:

  1. zwraca 0, jeśli łańcuchy są równe.
  2. Zwraca wartość ujemną (< 0), jeśli string2 jest większe niż string1.
  3. Zwraca wartość dodatnią (> 0), jeśli string1 jest większy niż string2.

zobacz poniższy przykład.

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

Zobacz wynik.

➜ pro php app.php0 ➜ pro

przejdźmy teraz przez dwa różne ciągi.

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

Zobacz wynik.

➜ pro php app.php-8 ➜ pro

weźmy teraz przykład, w którym string1 jest większe niż string2.

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

Zobacz wynik.

➜ pro php app.php8 ➜ pro

oto jak porównać dwa ciągi znaków w PHP za pomocą funkcji strcmp ().

== operator

najczęstszym sposobem porównywania dwóch łańcuchów jest po prostu użycie operatora==. Jeśli te dwa ciągi są sobie równe, to zwraca true.

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

Zobacz wynik.

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

ten kod zwróci, że ciągi znaków nie były w tym samym przypadku. Nie będzie pasować.

jeśli wszystkie litery w jednym łańcuchu były pisane wielkimi literami, wtedy zwróci to false i że łańcuchy nie pasują.

oznacza to, że nie możemy używać operatora == podczas porównywania łańcuchów z danych wejściowych użytkownika; nawet jeśli pierwsza litera jest wielka, to i tak zwróci false.

więc musimy użyć innej funkcji, aby pomóc porównać ciągi znaków.

PHP porównuje dwa łańcuchy i zwraca różnicę

możemy użyć funkcji similar_text (), która oblicza podobieństwo między dwoma łańcuchami.

oblicza podobieństwo między dwoma ciągami opisanymi w klasyce programowania: Implementing the World ’ s Best Algorithms by Oliver (ISBN 0-131-00413-1).

zauważ, że ta implementacja nie używa stosu jak w pseudokodzie Olivera, ale rekurencyjne wywołania mogą lub nie mogą przyspieszyć cały proces.

zauważ również, że złożoność tego algorytmu to O(N**3), gdzie N jest długością najdłuższego ciągu.

zobacz poniższy przykład.

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

zobacz poniższe wyniki.

➜ pro php app.php1 ➜ pro

wreszcie, przykład PHP strcmp() został zakończony.

Polecane posty

PHP str_split()

PHP str_repeat()

obiekt w PHP

podstawy klasy w PHP

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.