PHP strcmp: cum se compară două șiruri în PHP
în timpul oricărei programări, veți obține întotdeauna situații în care trebuie să comparați valori între ele, iar dacă valorile sunt booleene sau întregi, atunci comparația este simplă.
dar dacă doriți să comparați șiruri sau părți de șiruri, atunci pot exista mai multe comparații, cum ar fi un caz al șirului pe care îl comparați.
funcția compară cele două șiruri și ne spune dacă primul șir este mai mare sau mai mic decât al doilea șir sau este egal cu al doilea șir.
PHP strcmp ()
PHP STRCMP() este o funcție încorporată care compară două șiruri de caractere. Funcția strcmp () este binară sigură și sensibilă la majuscule și minuscule. Funcția strcmp () este utilizată pentru a compara două șiruri. Funcția strcmp () este sensibilă la majuscule, ceea ce subliniază că cazurile de capital și mici vor fi tratate diferit în timpul comparației.
sintaxă
a se vedea următoarea sintaxă.
strcmp(string1, string2)
parametri
această funcție acceptă doi parametri, care sunt descriși mai jos:
- string1 (obligatoriu): Acest parametru se referă la primul șir care va fi utilizat în comparație.
- string2 (obligatoriu): acest parametru se referă la al doilea șir care va fi utilizat în comparație.
valoare returnată
funcția returnează valoarea întreagă aleatorie în funcție de starea meciului, care este dată de:
- returnează 0 dacă șirurile sunt egale.
- returnează o valoare negativă (< 0), dacă șirul2 este mai mare decât șirul1.
- returnează o valoare pozitivă (> 0) dacă șirul1 este mai mare decât șirul2.
a se vedea exemplul următor.
<?phpecho strcmp("AppDividend", "AppDividend");
vedeți ieșirea.
➜ pro php app.php0 ➜ pro
acum, să trecem două șiruri diferite.
<?phpecho strcmp("Eleven", "Millie Bobby Brown");
a se vedea ieșirea.
➜ pro php app.php-8 ➜ pro
acum, să luăm un exemplu în care șirul1 este mai mare decât șirul2.
<?phpecho strcmp("Millie Bobby Brown", "Maddison");
vedeți ieșirea.
➜ pro php app.php8 ➜ pro
deci, acesta este modul de a compara două șiruri în PHP folosind funcția strcmp ().
== operator
cel mai comun mod în care veți vedea compararea a două șiruri este pur și simplu folosind operatorul==. Dacă cele două șiruri sunt egale între ele, atunci returnează true.
<?php// Using the == operator, Strings match is printedif('KRUNAL' == 'krunal'){ echo 'Strings match.';} else { echo 'Strings do not match.';}
a se vedea ieșirea.
➜ pro php app.phpStrings do not match. ➜ pro
acest cod va returna că șirurile nu au fost în același caz. Nu se va potrivi.
dacă toate literele dintr-un șir au fost majuscule, atunci acest lucru va reveni fals și că șirurile nu se potrivesc.
aceasta înseamnă că nu putem folosi operatorul == atunci când comparăm șiruri de la intrările utilizatorului; chiar dacă prima literă este majusculă, aceasta va reveni în continuare falsă.
deci, trebuie să folosim o altă funcție pentru a ajuta la compararea șirurilor.
PHP compară două șiruri și returnează diferența
putem folosi funcția similar_text (), care calculează asemănarea dintre două șiruri.
calculează similitudinea dintre două șiruri descrise în clasicele de programare: implementarea celor mai buni algoritmi din lume de Oliver (ISBN 0-131-00413-1).
rețineți că această implementare nu utilizează o stivă ca în pseudocodul lui Oliver, dar apelurile recursive pot accelera sau nu întregul proces.
rețineți, de asemenea, că complexitatea acestui algoritm este O(N**3), Unde N este lungimea celui mai lung șir.
a se vedea exemplul următor.
<?php$diff = similar_text('Krunal', 'Ankit', $perc);echo $diff;
a se vedea următoarea ieșire.
➜ pro php app.php1 ➜ pro
în cele din urmă, PHP strcmp() exemplu este de peste.
posturi recomandate
PHP STR_SPLIT ()
PHP STR_REPEAT ()
obiect în PHP
elementele de bază ale clasei în PHP