SITE ZOEKEN

PHP: werken met strings. PHP String-functies

Sites kunnen worden onderverdeeld in statische endynamisch. Na het beheersen van HTML en CSS, waarmee je een mooi visitekaartje kunt maken op internet, denken veel mensen eraan hoe ze een dynamische site in PHP kunnen creëren. Tegelijkertijd moet de lay-out rekening houden met het feit dat hij nu begint met het programmeren van het web: de principes van het werken met de site zullen verschillen. Een van de eerste problemen waarmee een beginner in PHP wordt geconfronteerd, is werken met tekenreeksen, lezen en verwerken.

PHP werkt met strings
Het is vermeldenswaard dat in PHP-functies werken metlijnen omvatten een groot aantal werkwijzen, zodat hun studiekosten beginnen met enkele eenvoudige handelingen, zoals de afvoerleiding, zoeken, verkrijgen of vervangen subreeks, registreert de verandering en terug naar de lijnlengte. Veel van de functies niet goed werken met Cyrillische tekens. Daarom zijn alle voorbeelden in het Engels geschreven voor de duidelijkheid. Voor Cyrillisch rijen dezelfde functies worden gebruikt, maar met het voorvoegsel MB_ (bijvoorbeeld mb_strpos ()). Voor het gebruik van analogen in php.ini je de lijn moet uncomment; extension = php_mbstring.dll, simpelweg door het verwijderen van de puntkomma.

Maken en weergeven van een string

We zullen de uitvoer van de string naar het scherm parsen met behulp van de bekende echotaalconstructie. Een programmeur kan een string tegelijk uitvoeren:

echo "Dit is een nieuwe string"

of maak eerst een variabele aan en geef deze vervolgens weer op het scherm:

$ str = "Dit is de nieuwe reeks";

echo $ str;

Als u meerdere regels in één moet weergeven, nemen ze hun concatenatie in:

echo "Het". "Nieuw". "String";

of

$ str1 = "Dit";

$ str2 = "Nieuw";

$ str3 = "String";

echo $ str1. $ str2. $ str3;

In het laatste geval wordt het scherm weergegeven Dit is de NewString. U kunt onmiddellijk een spatie toevoegen door een echo aan te roepen:

echo $ str1. "". $ str2. "". $ str3;

In dit geval verschijnt op het scherm: "Dit is de nieuwe lijn". Aaneenschakeling is niet alleen mogelijk bij het uitvoeren, maar ook bij het maken van een tekenreeks:

$ str1 = "Dit";

$ str2 = "Nieuw";

$ str3 = "String";

$ string = $ str1. "". $ str2. "". $ str3;

echo $ string;

Echo geeft zowel Latijnse letters als Cyrillische letters weer. Als een van de variabelen een getal bevat, wordt dit bij aaneenschakeling geconverteerd naar de bijbehorende regel:

$ i = 2;

$ sum = $ i + $ i; // nu bevat $ sum het getal 4

echo $ i. "+". $ i. "=". $ som;

Het scherm toont: "2 + 2 = 4".

site op php

Dienst symbolen

Stel dat een tekenreeks wordt gedefinieerd met dubbele aanhalingstekens ($ string = "That's it"). Dan kunt u de controlesequenties vrij rustig gebruiken:

  • \ n voert een regeleinde uit;
  • geeft de wagen terug;
  • \ "ontsnapt aan dubbele aanhalingstekens:
    • echo "Een string met \" dubbele aanhalingstekens "; // Een reeks met dubbele aanhalingstekens
  • \ $ beschermt de dollar;
  • \\ ontsnapt aan de backslash.

Sequenties zijn veel meer, je kunt ze allemaal vinden in de officiële PHP-documentatie.

Hoe de positie van het eerste voorkomen van een subtekenreeks te vinden

Laten we zeggen dat we een eenvoudige regel hebben:

$ string = "Mijn naam is Yemelyan en ik ben 27 jaar oud";

We hebben ook twee regels met de namen:

$ name = "Yemelyan";

$ anotherName = "Katherin";

We moeten uitzoeken of de eerste regel bevatdeze twee namen. Het maakt gebruik van strpos function ($ str, $ zoeken). Het geeft de positie van het gewenste substring $ zoeken, als de tekenreeks is opgenomen in het eerste, $ str. Anders wordt de functie retourneert een Booleaanse waarde false. Bijvoorbeeld, strpos ($ string, $ anotherName) false, en de strpos ($ string, $ name) - een integer. De code zal een dergelijke (schrijven optie, wanneer de positie wordt weergegeven op het scherm) zijn:

$ string = "Mijn naam is Yemelyan en ik ben 27 jaar oud";

$ name = "Yemelyan";

$ anotherName = "Katherin";

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

echo strpos ($ string, $ name); // print de positie van de eerste instantie van de subtekenreeks

Merk op dat de regelnummering begint bij nul, dat wil zeggen dat in ons geval de laatste regel het nummer 11 zal afdrukken (spaties worden ook overwogen).

De positie vinden van de laatste occurrences van substrings en valkuilen

Als de functie strpos () de positie van de eerste instantie retourneert, zoekt de functie inverse strrpos () naar de laatste instantie van de subtekenreeks.

Er zijn enkele valkuilen verbondenhet begin van de nummering. Dit is het overwegen waard: in PHP kan werken met tekenreeksen worden bemoeilijkt door beperkingen in vergelijkingen. Het is dus beter om de vergelijkingsbewerking met negatie niet te gebruiken: strpos ($ str, $ search)! = False. In elke versie van PHP werken voorbeelden met een dergelijk equivalent mogelijk niet correct, omdat de regelnummering begint bij nul en in de logische interpretatie 0 onwaar is. Dit geldt ook voor de functie strrpos ().

Hoe het aantal keren dat een subtekenreeks voorkomt te vinden

Vaak moet je niet de positie van de eerste ofhet laatste voorkomen van een substring in een string en het totale aantal substrings. Gebruik hiervoor de functie substr_count (), die ten minste twee variabelen verwerkt: substr_count ($ str, $ search). Retourneert een geheel getal. Als u het zoekgebied met een reeks wilt verkleinen, worden er nog twee variabelen aan de functie doorgegeven: respectievelijk het begin en het einde van de regel. Dat wil zeggen dat de functie in dit geval zo wordt genoemd: substr_count ($ str, $ search, $ start, $ end). De functie zoekt naar een substring $ search in het interval van $ start tot $ end van de originele tekenreeks $ str. Als de tekenreeks niet wordt gevonden, retourneert de functie nul.

web programmeren

Hoe het geval van een string in PHP te veranderen: voorbeelden

Verandering van het register wordt vaak gebruikt voorvergelijking van strings en voorwaardelijke statements. Stel dat een gebruiker de naam van de oppergod moet invoeren in de Scandinavische mythologie. Het programma heeft de optie "One", waarmee het antwoord van de gebruiker wordt vergeleken. Als de ingevoerde tekst niet overeenkomt met de tekst die je hebt (de gebruiker zal bijvoorbeeld "één" of "EEN" schrijven), retourneert het programma false in plaats van true. Om dit te voorkomen, wordt de registerwijzigingsfunctie gebruikt. Dit wordt vaak gebruikt als de site in PHP tags heeft: in plaats van honderden varianten van het woord 'persoonlijk' ('persoonlijk', 'persoonlijk', 'persoonlijk', etc.), is er slechts één tag in kleine letters.

De strtolower () -functie verandert de zaak naar de onderste. Stel dat er een regel $ catName = "Fluffy" is. De strtolower ($ catName) functie retourneert de string "fluffy". Wijzig het register in het bovenste met de functie strtoupper ().

Hoe de lengte van een string in PHP te vinden: werken met functies

Het is vaak nodig om de lengte van een string te vinden. In PHP moet u bijvoorbeeld met dit soort lijnen werken om een ​​lus te maken. Gebruik de functie strlen () om een ​​string te vinden, waarbij een getal wordt geretourneerd: het aantal tekens. We moeten niet vergeten dat het laatste karakter het strlen ($ str) -1-getal heeft, omdat de nummering begint bij nul.

php werk

Substrings verkrijgen en vervangen in PHP: werken met tekenreeksen

De substring wordt verkregen door de functiesubstr (), waarvoor twee of drie argumenten kunnen worden gebruikt: substr ($ str, $ start, $ end). Stel dat we de string $ string = "Fluffy cat" hebben, en we willen een subtekenreeks krijgen van het tweede naar het vierde personage. Aangezien de nummering begint bij nul, ziet de variabele met deze substring er als volgt uit: $ newString = substr ($ string, 1, 4). Als we $ newString = substr ($ string, 1) invoeren, krijgen we een subtekenreeks van het tweede teken naar het laatste teken (dat wil zeggen, "luffy"). Deze code is identiek aan de volledige regelcode met strlen (): substr ($ string, 1, strlen ($ string)).

Gebruik de functie om een ​​subtekenreeks te vervangenstr_replace (), waarvoor drie variabelen nodig zijn: str_replace ($ subStr, $ newSub, $ str). In tegenstelling tot veel functies werkt str_replace () correct met Cyrillische symbolen en heeft het geen analoog met een voorvoegsel. bijvoorbeeld:

$ str = "Vandaag is verschrikkelijk weer!";

$ newStr = str_replace ("awful", "wonderful", $ str); // Vandaag is prachtig weer!

Een reeks naar een nummer vertalen

php voorbeelden
Iedereen die webprogrammering bestudeert, vroegof later is het nodig om een ​​string in een getal te vertalen. Hiervoor worden twee vergelijkbare functies gebruikt: intval () en floatval (), die elk één variabele $ string gebruiken. Ze verschillen alleen van elkaar in het type geretourneerde gegevens: intval () retourneert een geheel getal en floatval () is een drijvende-kommawaarde.

Zowel intval () als floatval () gebruikenHet is noodzakelijk dat de regel begint met de cijfers en dat deze worden omgezet in een cijfer. Als na de cijfers een reeks letters wordt weergegeven, worden ze gewoon genegeerd. Als de tekenreeks begint met letters, retourneert het gebruik van de functie nul. Idealiter zou de regel alleen cijfers moeten bevatten.

Een getal omzetten in een string

Vaak moet je cijfers in een string vertalen. Stel dat u de helft van het aantal moet nemen en het moet opklimmen (controleer bijvoorbeeld of aan de gelijkheid is voldaan: 88 x 88 + 33 x 33 = 8833). In dit geval wordt de functie strval () gebruikt, die een tekenreeks met een getal retourneert. Hierna kunt u alle andere acties uitvoeren met de nieuwe regel: wijzigen, zoeken naar het voorkomen van subtekenreeks en andere functies. Indien nodig kan de regel opnieuw worden vertaald in een nummer dat al op de bovenstaande manier is beschreven.

php-snaarfuncties
In het artikel slechts een klein deel van allesfuncties verbonden aan strings. Sommige van de niet-beschreven functies werken met symbolen, maar een grote is vanwege de specificiteit niet in het materiaal opgenomen. Om kennis te maken met deze functies, moet je naar de officiële PHP-documentatie gaan, die de nieuwste informatie toont.

</ p>
  • evaluatie: