Nettsteder kan deles inn i statisk ogdynamisk. Etter å ha mastert HTML og CSS, som lar deg lage et vakkert visittkort på Internett, tenker mange på hvordan du lager et dynamisk nettsted i PHP. Samtidig skal utformingen ta hensyn til at nå begynner han å studere webprogrammering: prinsippene for å jobbe med nettstedet vil variere. Et av de første problemene som en nybegynner i PHP-ansikter arbeider med strenger, leser og behandler dem.
Vi vil analysere utgangen av strengen til skjermen ved hjelp av det kjente ekkospråket. En programmerer kan sende en streng på en gang:
ekko "Dette er ny streng"
eller først opprett en variabel, og vis den på skjermen:
$ str = "Dette er den nye strengen";
ekko $ str;
Hvis du trenger å vise flere linjer i ett, så gir de til sin sammenheng:
ekko "det". "Ny". "String";
eller
$ str1 = "This";
$ str2 = "nytt";
$ str3 = "String";
ekko $ str1. $ str2. $ str3;
I sistnevnte tilfelle vil skjermen vise Dette er NewString. Du kan legge til et mellomrom umiddelbart ved å ringe ekko:
ekko $ str1. "". $ str2. "". $ str3;
I dette tilfellet vil skjermen vise: "Dette er den nye linjen". Sammenkobling er mulig ikke bare når du skriver ut, men også når du lager en streng:
$ str1 = "This";
$ str2 = "nytt";
$ str3 = "String";
$ string = $ str1. "". $ str2. "". $ str3;
ekko $ streng;
Ekko viser både latinske bokstaver og kyrilliske bokstaver. Hvis en av variablene inneholdt et tall, vil det ved sammenkobling bli konvertert til den tilsvarende linjen:
$ i = 2;
$ sum = $ i + $ i; // nå $ sum inneholder nummer 4
ekko $ i. "+". $ i. "=". $ sum;
Skjermen vil vise: "2 + 2 = 4".
La oss si at en streng er definert ved hjelp av doble anførselstegn ($ string = "That's it"). Deretter kan du bruke kontrollsekvensene ganske rolig:
Sekvenser er mye større, alle kan finnes i den offisielle PHP-dokumentasjonen.
La oss si at vi har en enkel linje:
$ string = "Mitt navn er Yemelyan og jeg er 27 år gammel";
Vi har også to linjer med navnene:
$ name = "Yemelyan";
$ anotherName = "Katherin";
Vi må finne ut om den første linjen inneholderdisse to navnene. For å gjøre dette, bruk funksjonen strpos ($ str, $ søk). Den returnerer posisjonen til søkestrengen $ search, hvis denne linjen er inneholdt i den opprinnelige, $ str. Ellers returnerer funksjonen en boolsk verdi av falsk. For eksempel returnerer strpos ($ streng, $ anotherName) feil, og strpos ($ streng, $ navn) er et heltall. Koden vil bli slik (vi skriver varianten når posisjonen vises på skjermen):
$ string = "Mitt navn er Yemelyan og jeg er 27 år gammel";
$ name = "Yemelyan";
$ anotherName = "Katherin";
ekko strpos ($ string, $ anotherName); // skriv ut falsk
ekko strpos ($ streng, $ navn); // skriv ut posisjonen til den første forekomsten av substringen
Merk at linjenummereringen starter fra null, det vil si i vårt tilfelle, den siste linjen vil skrive ut nummer 11 (mellomrom betraktes også).
Hvis funksjonen strpos () returnerer posisjonen til den første forekomsten, ser den inverse strrpos () -funksjonen for den siste forekomsten av substringen.
Det er noen fallgruvene forbundet medbegynnelsen på nummereringen. Dette er verdt å vurdere: i PHP kan det være komplisert med begrensninger i sammenligninger å arbeide med strenger. Så det er bedre å ikke bruke sammenligningsoperasjonen med negasjon: strpos ($ str, $ search)! = False. I en hvilken som helst versjon av PHP, kan eksempler med en slik ekvivalent ikke fungere riktig, fordi linjenummereringen starter fra null, og i den logiske tolkningen 0 er det feil. Dette gjelder også for strrpos () -funksjonen.
Ofte må du ikke finne posisjonen til den første ellerden siste forekomsten av en substring i en streng og totalt antall understrenger. For å gjøre dette, bruk funksjonen substr_count (), som behandler minst to variabler: substr_count ($ str, $ search). Returnerer et heltall. Hvis du vil redusere søkeomfanget med en linje, sendes to variabler til funksjonen: henholdsvis begynnelsen og slutten av linjen. Det betyr at funksjonen i dette tilfellet kalles så: substr_count ($ str, $ search, $ start, $ end). Funksjonen vil se etter en substring $ søk i intervallet fra $ start til $ end av den opprinnelige strengen $ str. Hvis strengen ikke er funnet, returnerer funksjonen null.
Endring av registret brukes ofte tilsammenligning av strenge og betingede utsagn. Anta at en bruker skal skrive inn navnet på den øverste guden i skandinavisk mytologi. Programmet har alternativet "One", som brukerens svar blir sammenlignet med. Hvis den skrevne teksten ikke samsvarer med den du har (for eksempel brukeren skriver "en" eller "ONE"), vil programmet returnere falsk i stedet for ekte. For å unngå dette, brukes registerbyttefunksjonen. Dette brukes ofte hvis nettstedet i PHP har tagger: i stedet for hundrevis av varianter av ordet "personlig" ("personlig", "personlig", "personlig" osv.), Er det bare en merke i små bokstaver.
Strtolower () -funksjonen endrer saken til den nederste. Anta at det er en linje $ catName = "Fluffy". Strtolower ($ catName) -funksjonen returnerer strengen "fluffy". Endre registeret til den øvre ved hjelp av strtoupper () -funksjonen.
Det er ofte nødvendig å finne lengden på en streng. For eksempel, i PHP, må du kanskje jobbe med linjer av denne typen når du lager en loop. For å finne en streng, bruk strlen () -funksjonen, som returnerer et tall - antall tegn. Vi må ikke glemme at den siste karakteren vil ha strlen ($ str) -1-tallet, siden nummereringen starter fra null.
Substringen er oppnådd av funksjonensubstr (), som kan ta to eller tre argumenter: substr ($ str, $ start, $ end). Anta at vi har strengen $ string = "Fluffy cat", og vi vil få en substring fra den andre til fjerde karakteren. Siden nummereringen starter fra null, vil variabelen med denne substringen se slik ut: $ newString = substr ($ string, 1, 4). Hvis vi skriver inn $ newString = substr ($ string, 1), får vi en substring fra det andre tegnet til det siste tegnet (det vil si "lunt"). Denne koden er identisk med full linjekoden ved hjelp av strlen (): substr ($ streng, 1, strlen ($ streng)).
For å erstatte en substring, bruk funksjonenstr_replace (), som tar tre variabler: str_replace ($ subStr, $ newSub, $ str). I motsetning til mange funksjoner fungerer str_replace () riktig med Cyrillic symboler og har ikke en analog med et prefiks. eksempel:
$ str = "I dag er forferdelig vær!";
$ newStr = str_replace ("forferdelig", "fantastisk", $ str); // I dag er det flott vær!
For å bruke både intval () og floatval ()Det er nødvendig at linjen starter med sifrene, og de vil bli konvertert til et tall. Hvis etter tallene et sett med bokstaver går, blir de bare ignorert. I tilfelle at strengen begynner med bokstaver, vil bruken av funksjonen returnere null. Ideelt sett bør linjen bare inneholde tall.
Ofte må du oversette tall til en streng. Si, hvis du trenger å ta halvparten av tallet og kvadrat det opp (for eksempel, se om likestillingen er oppfylt: 88 x 88 + 33 x 33 = 8833). I dette tilfellet brukes funksjonen strval (), som returnerer en streng med et tall. Deretter kan du utføre alle andre handlinger med den nye linjen: endre, søk etter forekomst av substring og andre funksjoner. Om nødvendig kan linjen oversettes igjen til et nummer som allerede er beskrevet på ovennevnte måte.