PHP: Lucrul cu siruri de caractere.

Situri

pot fi împărțite în statice și dinamice.După mastering HTML si CSS, care permite de a face frumos carte de vizită pe Internet, mulți se gândesc cum să creați un site dinamic in PHP.Acest programator trebuie să ia în considerare faptul că acum el începe să învețe programare web: cum să lucreze cu site-ul va fi diferit.Unul dintre primele provocări cu care se confruntă novice in PHP - lucrul cu siruri de caractere, de lectură și de prelucrare a acestora.

este de remarcat faptul că în funcțiile PHP coarde implica un număr mare de metode, astfel încât studiul lor este de a începe cu manipularea mai simpla, cum ar fi scrierea unui șir, căutare, obținerea sau înlocuirea unui subșir, schimbarea caz, și a reveni lungimea șirului.Multe dintre funcțiile nu funcționează cu caractere chirilice.Prin urmare, toate exemplele sunt scrise în limba engleză pentru claritate.Pentru linia chirilic utilizează aceleași funcții, dar cu mb_ prefixul (de exemplu, mb_strpos ()).Înainte de a utiliza analogii, în php.ini, trebuie să decomentați linia; extension = php_mbstring.dll, pur și simplu prin eliminarea virgulă.

Crearea și linia

Analizăm ieșire șir folosind toate cunoscute echo construct limbă.Un programator poate pune un drept linie:

echo "Acest nou Line"

sau creați mai întâi un variabilă, iar apoi afișa:

$ str = "Acesta este un nou șir";

echo $ str;

Dacă doriți să se afișeze mai multe linii într-un singur, apoi a recurs la concatenare lor:

echo "Este.""Nou"."String";

sau

$ str1 = "A";

$ str2 = "new";

$ Str3 = "string";

echo $ str1.$ Str2.$ Str3;

În cazul din urmă va fi afișat EtoNovayaStroka .Spațiu pot fi adăugate imediat de către un ecou apel:

echo $ str1.''.$ Str2.''.$ Str3;

În acest caz, ecranul afișează: "Aceasta este o noua linie."Concatenarea este posibilă nu numai în producția, dar, de asemenea pentru a crea un șir:

$ str1 = "A";

$ str2 = "new";

$ Str3 = "string";

$ string = $ str1.''.$ Str2.''.$ Str3;

echo $ string;

Echo afișează atât litere cât și chirilică.Dacă unul dintre variabilele care conțin numere, atunci concatenarea numărul va fi transformat în linia corespunzătoare:

$ i = 2;

$ sum = $ i + $ i;// Acum $ sumă conține numărul 4

echo $ i."+".$ I."=".Suma $;

Veți vedea: a "2 + 2 = 4".Simboluri

Servicii

De exemplu, șirul este definită printr-un dublu-citat ($ string = "Acesta este modul în care").Apoi, puteți utiliza destul de fericit secvențe escape:

  • \ n comite o linie nouă;
  • \ r întoarce transport;
  • \ "scapă ghilimelelor:
    • echo" Șirul \ "\" dublu citate "; string // cu" dubla "citează
  • \ ecrane $ dolar;
  • \\ backslash scapă.

Strings mult mai mult, tot lor posibil să se găsească în documentația oficială a PHP

Găsește poziția primei apariții

Să presupunem că avem o linie simplă:.

$ string = "Numele meu este Yemelyan și eu sunt27 ani ani ";

Avem, de asemenea, două rânduri de numele:

$ name =" Yemelyan ";

$ anotherName =" Katherin ";

Trebuie să știm dacă primul rând aldouă nume. Pentru a face acest lucru, utilizați strpos funcția ($ str, $ căutare). Se întoarce poziția dorită subșir $ căutare, în cazul în care șirul este conținută în inițială, $ str.În caz contrar, funcția returnează o valoare boolean la false.De exemplu, strpos ($ string, $ anotherName) returnează false, și strpos ($ string, $ nume) - un număr întreg.Codul va fi (opțiunea de scriere, în cazul în care este afișată poziția):

$ string = "Numele meu este Yemelyan și eu sunt de 27 de ani";

$ name = "Yemelyan";

$ anotherName = "Katherin";

echo strpos ($ string, $ anotherName);// Iesiri false

echo strpos ($ string, $ nume);// Afișează poziția primei apariții

Rețineți că linia începe numerotarea la zero, care este, în acest caz, ultima linie va afișa numărul de 11 (spații sunt considerate, de asemenea).

poziția căutare de ultima apariție de un subșir și capcane

Dacă strpos () întoarce poziția prima apariție, în strrpos funcție inversă () căutări pentru ultima apariție a unui subșir.

Există unele capcane asociate cu începutul numerotării.Acesta ar trebui să ia în considerare: În activitatea PHP cu linii poate fi complicată de limitări în comparații.Deci, este mai bine să nu utilizeze o operațiune de comparație cu o negație:! Strpos ($ str, $ căutare) = Fals.În orice versiune de PHP cu exemple de astfel de echivalență să nu funcționeze corect, deoarece numerotarea incepe de la linia de zero, și 0 în interpretarea logică este falsă.Acest lucru este valabil și pentru strrpos funcția ().

Cum de a găsi un număr de apariții ale unui subșir

de multe ori nu au nevoie pentru a găsi poziția prima sau ultima apariție a unui subșir într-un șir de caractere, iar numărul total al acestora.Pentru a face acest lucru, utilizați substr_count funcția (), care se ocupă cel puțin două variabile: substr_count ($ str, $ căutare).Returnează un număr întreg.Dacă doriți pentru a reduce domeniul de aplicare al căutare pe linie, funcția este trecut două variabile: începutul și sfârșitul liniei, respectiv.Aceasta este, în acest caz, funcția este numit ca: substr_count ($ str, $ căutare, $ start, $ final).Funcția va căuta subșirul $ căutare în intervalul de la $ începe la $ sfârșitul șirului $ str.În cazul în care șirul nu este găsit, funcția returnează zero.

Cum se schimba cazul șir în PHP: Exemple

Schimbarea caz este adesea folosit pentru a compara siruri de caractere și declarații condiționale.De exemplu, utilizatorul trebuie să introducă numele zeului suprem în mitologia nordică.Programul este o versiune a "One", care vor fi comparate și răspunsul utilizatorului.Dacă textul introdus nu se potrivește cu disponibil (de exemplu, utilizatorul scrie un "unu" sau "unul"), programul va reveni fals în loc de adevărat.Pentru a evita acest lucru, utilizați funcția schimba cazul.Acesta este adesea folosit în cazul în care site-ul este în tag-uri PHP: în loc de sute de variante ale cuvântului "privat" (. "Private", "privat", "personal" și așa mai departe N.) Există o singură etichetă în litere mici.Funcția

strtolower () schimbă cauza cea mai mică.Să aibă un șir de $ catName = "Fluffy".Funcția strtolower ($ catName) returnează șirul "pufos".Schimba caz de sus, aveți posibilitatea să utilizați funcția strtoupper ().

Cum de a găsi lungimea șirului în PHP: Lucrul cu funcții

adesea necesare pentru a găsi lungimea șirului.De exemplu, în munca PHP cu siruri de caractere de acest tip pot fi necesare în ciclul de creație.Pentru a căuta un șir funcție este folosită strlen (), care returnează un număr - numărul de caractere.Noi nu trebuie să uităm că ultimul caracter va avea un număr de strlen ($ str) -1, ca numerotarea începe cu zero.

Producerea și înlocuirea unui substring în PHP: Lucrul cu siruri de caractere

Obținerea funcție substring efectuat substr (), care poate dura două sau trei argumente: substr ($ str, $ start, $ final).Să presupunem că avem un $ string string = "pisica Fluffy", și vrem să obțineți un subșir de la al doilea la al patrulea caracter.Deoarece începe numerotarea la zero, variabila cu care substring va arata astfel: $ newstring = substr ($ string, 1, 4).Dacă vom introduce $ newstring = substr ($ string, 1), vom obține un subșir de la al doilea la ultimul caracter (de exemplu, "Luffy").Acest cod este identic cu șirul de cod complet folosind strlen (): substr ($ string, 1, strlen ($ string)).

utilizat pentru a înlocui funcția str_replace substring (), care are trei variabile: str_replace ($ substr, $ newSub, $ str).Spre deosebire de multe funcții, str_replace () funcționează corect cu caractere chirilice și nu are corespondent cu prefixul.Exemplu:

$ str =; "Astăzi vreme teribil!"

$ newStr = str_replace ("teribil", "minunat", $ str);// Astăzi, vreme minunată!

șir de traducere a unui număr

Oricine studiază programare web, mai devreme sau mai târziu trebuie să traducă șir într-un număr.Pentru acest scop, două funcții similare: intval () și floatval (), fiecare dintre care are una $ string variabilă.Din fiecare parte diferă numai în tipul de date returnat: intval () returnează un număr întreg, și floatval () - numărul în virgulă mobilă.

pentru utilizare intval (), și floatval () prevede că linia începe cu un număr, și vor fi convertite la un număr.În cazul în care numerele vor merge orice set de litere, ei doar ignora.În acest caz, în cazul în care linia incepe cu literele, utilizarea funcției va reveni la zero.În mod ideal, linia trebuie să conțină numai cifre.

Traducere unui șir

adesea necesare pentru a transfera numărul la un șir.De exemplu, dacă doriți să luați jumătate din ea și să ridice un pătrat (de exemplu, verificați dacă egalitatea: 88 x 88 x 33 + 33 = 8833).În acest caz, strval funcția (), care returnează un șir cu numărul.După aceasta, o nouă linie, puteți efectua toate celelalte acțiuni: edita, căuta apariția subsir, și alte funcții.Dacă este necesar, linia poate fi re-transferată la cele deja descrise mai sus.

Articolul a fost considerat doar o mică parte din toate funcțiile asociate cu siruri de caractere.Funcțiile undescribed Partea de lucru cu personaje, dar cele mai multe nu au fost incluse în materialul din cauza specificului.Pentru a vedea aceste funcții trebuie să procedeze pentru a citi documentația oficială pe PHP, care afișează informații actuale.