PHP: Arbejde med strenge.

click fraud protection

sites kan opdeles i statisk og dynamisk.Efter mastering HTML og CSS, som gør det muligt at lave smukke visitkort på internettet, er mange tænker, hvordan du opretter en dynamisk hjemmeside i PHP.Denne koder skal tage hensyn til, at han nu begynder at lære webprogrammering: hvordan man arbejder med hjemmesiden vil være anderledes.En af de første udfordringer, som novice står i PHP - arbejde med strygere, deres læsning og forarbejdning.

er værd at bemærke, at i PHP streng funktioner involverer en lang række metoder, så deres undersøgelse er at starte med den mest simple manipulation såsom at skrive en streng, søg, opnåelse eller udskiftning af en delstreng, skiftende omstændigheder og returnere længden af ​​strengen.Mange af funktionerne virker ikke med kyrilliske bogstaver.Derfor er alle eksempler skrevet på engelsk for klarhed.For kyrillisk line bruger de samme funktioner, men med præfikset mb_ (f.eks mb_strpos ()).Før du bruger analoger, i php.ini, skal du afkommentere linjen; extension = php_mbstring.dll, blot ved at fjerne semikolon.

Skabelse og line

Vi analyserer strengen output ved hjælp af alle kendte sprog konstruktion ekko.En programmør kan sætte en linje højre:

echo "Denne nye Line"

eller først oprette en variabel, og derefter vise det:

$ str = "Dette er en ny streng";

echo $ str;

Hvis du vil have vist flere linjer i en, så tyet til deres sammenkædning:

echo "Det er.""Ny"."String";

eller

$ str1 = "det";

$ str2 = "nye";

$ str3 = "string";

echo $ str1.$ Str2.$ Str3;

I sidstnævnte tilfælde vil blive vist EtoNovayaStroka .Rum kan straks tilføjes ved et opkald ekko:

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

I dette tilfælde viser skærmen: "Dette er en ny linje."Sammenkædning er muligt ikke kun i produktionen, men også at skabe en streng:

$ str1 = "det";

$ str2 = "nye";

$ str3 = "string";

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

echo $ string;

Echo viser både bogstaver og kyrillisk.Hvis en af ​​de variabler, der indeholder tal, vil når sammenkæde nummeret blive konverteret til den relevante linje:

$ i = 2;

$ sum = $ i + $ i;// Nu $ sum indeholder nummeret 4

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

Du vil se: de "2 + 2 = 4".

service symboler

For eksempel er strengen defineret ved en dobbelt-citat ($ string = "Dette er, hvordan").Derefter kan du ganske lykkeligt bruge escape-sekvenser:

  • \ n begår en ny linje;
  • \ r linjeskift;
  • \ "undslipper dobbelte citationstegn:
    • echo" Strengen \ "dobbelt \" citater "; // snor med" dobbelt "citerer
  • \ $ skærme dollar;
  • \\ backslash undslipper.

Strings meget mere, alle deres muligt at finde i officiel dokumentation af PHP

Find position første forekomst

Antag at vi har en simpel linje:.

$ string = "Mit navn er Yemelyan og jeg er27 år gammel "

Vi har også to rækker med navnene:

$ name =" Yemelyan "

$ anotherName =" Katherin "

Vi har brug for at vide, om den første række afto navne. For at gøre dette, skal du bruge funktionen strpos ($ str, $ søgning). Den returnerer positionen for den ønskede substring $ søgning, hvis strengen er indeholdt i den oprindelige, $ str.Ellers returnerer funktionen en boolesk værdi til false.For eksempel strpos ($ string, $ anotherName) returnerer false, og strpos ($ string, $ navn) - et heltal.Koden vil være den (skriv mulighed, hvor positionen vises):

$ string = "Mit navn er Yemelyan og jeg er 27 år gammel";

$ name = "Yemelyan";

$ anotherName = "Katherin";

echo strpos ($ string, $ anotherName);// Udgange falsk

ekko strpos ($ string, $ navn);// Viser positionen for første forekomst

Bemærk at linjen nummerering starter ved nul, det er, i dette tilfælde den sidste linje vil vise antallet af 11 (rum betragtes også).

søgning stilling af den sidste forekomst af en delstreng og faldgruber

Hvis strpos () returnerer positionen for den første forekomst, den inverse funktion strrpos () søgninger til den sidste forekomst af en delstreng.

Der er nogle faldgruber forbundet med begyndelsen af ​​nummereringen.Den skal tage hensyn til: I PHP arbejde med linjer kan kompliceres af begrænsninger i sammenligninger.Så er det bedre ikke at bruge en sammenligning drift med en negation:! Strpos ($ str, $ søgning) = False.I alle version af PHP med eksempler på en sådan ækvivalens fungerer muligvis ikke korrekt, fordi linjen nummereringen starter ved nul, og 0 i den logiske fortolkning er falsk.Dette gælder også for funktionen strrpos ().

Hvordan finder man en række forekomster af en delstreng

ofte ikke brug for at finde placeringen af ​​den første eller sidste forekomst af en delstreng i en streng, og deres samlede antal.For at gøre dette, skal du bruge funktionen substr_count (), som håndterer mindst to variabler: substr_count ($ str, $ søgning).Den returnerer et heltal.Hvis du ønsker at reducere omfanget af søgningen på linjen, er funktionen passerede to variabler: begyndelsen og slutningen af ​​linjen, hhv.Det vil sige, at funktionen i dette tilfælde kaldes som: substr_count ($ str, $ søgning, $ start, $ ende).Funktionen vil søge substring søgning de $ i intervallet fra $ begynde at $ ende af snoren $ str.Hvis strengen ikke findes, returnerer funktionen nul.

Sådan ændrer tilfældet med streng i PHP: Eksempler

Skift sagen er ofte bruges til at sammenligne strenge og betingede udsagn.For eksempel skal brugeren indtaste navnet på den øverste gud i den nordiske mytologi.Programmet er en version af "One", som vil blive sammenlignet, og brugerens svar.Hvis den indtastede tekst ikke passer med de tilgængelige (for eksempel, at brugeren skriver en "one" eller "en"), vil programmet return false i stedet for sand.For at undgå dette, skal du bruge funktionen ændre sagen.Det er ofte brugt, hvis webstedet er i PHP tags: i stedet for hundredvis af varianter af ordet "privat" (. "Private", "privat", "personlige" og så videre N.) Der er kun én tag med små bogstaver.

strtolower () funktion ændrer sagen til den lavere.Lad os få en streng $ catName = "Fluffy".Funktion strtolower ($ catName) returnerer strengen "fluffy".Skift sagen til øverste, kan du bruge funktionen strtoupper ().

Sådan finder længden af ​​strengen i PHP: Arbejde med funktioner

ofte kræves for at finde længden af ​​strengen.For eksempel kan i PHP arbejde med strenge af denne type kræves i skabelsen cyklus.For at søge efter en streng funktion bruges strlen (), som returnerer et tal - antallet af tegn.Vi må ikke glemme, at det sidste tegn vil have en række strlen ($ str) -1, da nummereringen starter med nul.

Produktion og udskiftning af en delstreng i PHP: Arbejde med strygere

Kom substring funktion, substr (), som kan tage to eller tre argumenter: substr ($ str, $ start, $ ende).Lad os sige, at vi har en streng $ string = "Fluffy kat", og vi ønsker at få en delstreng fra den anden til den fjerde karakter.Siden nummerering starter ved nul, vil variabel med at substring se sådan ud: $ newString = substr ($ string, 1, 4).Hvis vi indfører de $ newString = substr (string $, 1), får vi en delstreng fra den anden til den sidste tegn (dvs. "Ruffy").Denne kode er identisk med den fulde kode strengen ved hjælp strlen (): substr ($ string, 1, strlen (string $)).

anvendes til at erstatte substring funktionen str_replace (), som tager tre variabler: str_replace ($ substr, $ newSub, $ str).I modsætning til mange funktioner, str_replace () arbejder korrekt med kyrilliske bogstaver og har ingen modstykke med præfikset.Eksempel:

$ str = "I dag forfærdeligt vejr!"

$ newStr = str_replace ("forfærdelige", "wonderful", $ str);// I dag, vidunderlige vejr!

Translation streng til et tal

Enhver, der studerer web programmering, før eller senere nødt til at oversætte strengen i en række.Til dette formål blev to lignende funktioner: intval () og floatval (), som hver tager en variabel $ string.Fra hinanden de adskiller sig kun i den type data, returnerede: intval () returnerer et heltal, og floatval () - floating-point-nummer.

til brug intval (), og floatval () kræver, at linje starter med et tal, og de vil blive konverteret til et tal.Hvis tallene vil gå et sæt af bogstaver, de bare ignorere det.I dette tilfælde, hvis linien begynder med bogstaverne, vil brugen af ​​funktionen returnere nul.Ideelt set skal linjen kun indeholde cifre.

Oversættelse af en streng

ofte forpligtet til at overføre nummeret til en streng.For eksempel, hvis du ønsker at tage halvdelen af ​​det og at opføre en firkant (for eksempel, kontrollere, om lighed: 88 x 88 x 33 + 33 = 8833).I dette tilfælde funktionen strval (), som returnerer en streng med nummeret.Efter dette, en ny linje, kan du udføre alle andre handlinger: edit, søge efter forekomsten af ​​substring, og andre funktioner.Hvis det er nødvendigt, linjen kan genbruges overført til dem, der allerede er beskrevet ovenfor.

Artiklen blev betragtet kun en lille del af alle de funktioner, der er forbundet med strenge.Del ubeskrevne funktioner arbejder med karakterer, men de fleste var ikke medtaget i det materiale, som følge af specificitet.For at se disse funktioner har brug for at gå videre for at læse den officielle dokumentation om PHP, som viser aktuelle oplysninger.