KompjûtersProgramming

PHP: string manipulaasje. PHP syn string funksjes

Sites kin ûnderferdield wurde yn statische en dynamysk. Nei't behearskjen HTML en CSS, dat makket it mooglik om in moaie nammekaartsje op it ynternet, in protte binne tinken hoe te meitsjen fan in dynamyske webstee mei PHP. Yn dizze Ute moat rekken hâlden wurde dat hy waard no begjint te learen web programmearring: hoe om te wurkjen mei de side sil wêze oars. Ien fan de earste problemen tsjinkaam troch in begjinner yn PHP - wurk string, lêzen en it ferwurkjen fan harren.

It is de muoite wurdich wurdich dat yn PHP string manipulaasje funksjes belûke in oantal metoaden, sa om te begjinnen har stúdzje kosten mei wat ienfâldige beynfloedzjen, lykas it weromlûken line, sykje, it krijen of it ferfangen fan in substring, registrearje de feroaring en werom nei de line lingte. In soad fan de funksjes wurkje net goed by Syrillysk tekens. Dêrom, al de foarbylden binne skreaun yn it Ingelsk foar dúdlikens. Foar Syrillysk rigen deselde funksjes wurde brûkt, mar mei it foarheaksel mb_ (bgl, mb_strpos ()). Foardat mei help analogen yn php.ini jo moatte uncomment de line; extension = php_mbstring.dll, gewoan troch it fuortsmiten fan de puntkomma.

It meitsjen en it skriuwen fan in tekenrige

Wy sille analysearje de line útfier nei it skerm te brûken de taal bekend oan alle echo it ûntwerp. De programmeur kin direkt útfier in tekenrige:

echo "Dizze nije line"

of meitsje earst in fariabele en dan werjaan it:

$ Str = "Dit is in nij tekenrige";

echo $ str;

As jo wolle werjaan meardere rigels yn ien of resorting nei harren it oare:

echo "Dit". "Nij". "String";

of

$ Str1 = "Dit";

$ Str2 = "nij";

$ Str3 = "tekenrigel";

echo $ str1. $ Str2. $ Str3;

Yn it lêste gefal is, dan sil werjaan EtoNovayaStroka. It gat kin tafoege wurde direkt yn de oprop echo:

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

Yn dit gefal, it skerm byldskermen: "Dy nije rigel." It oare is mooglik net allinnich yn 'e útgong, mar ek te meitsjen rigels:

$ Str1 = "Dit";

$ Str2 = "nij";

$ Str3 = "tekenrigel";

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

echo $ string;

Echo toant beide brieven, en Syrillysk. As ien fan 'e fariabelen opnommen it nûmer, dan it it oare fan dit oantal wurdt omsetten nei it passend line:

$ I = 2;

$ Sum = $ i + $ i ; // no $ bedrach befettet it nûmer 4

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

Sille werjûn wurde: "2 + 2 = 4".

spesjale karakters

Oannommen dat it line wurdt bepaald troch in dûbeld-Quote ($ string = "Dit is hoe"). Dan kinne jo hiel lokkich brûke de escape sekwinsjes:

  • \ N makket in rigel break;
  • \ R einregeltekens;
  • \ "Ûntkomt de dûbele quotation marks:
    • echo "De string \" dûbele \ "quotes"; // string mei "double" quotes
  • \ $ Shields de dollar;
  • \\ backslash ûntkomt.

Sekwinsjes folle mear, allegearre binne te finen yn de offisjele PHP dokumintaasje.

Find posysje fan de earste oerienkomst

Oannommen, wy hawwe in ienfâldige string:

$ String = "Myn namme is Yemelyan en ik bin 27 jier ald";

Wy hawwe ek twa rigen nammen:

$ Name = "Yemelyan";

$ AnotherName = "Katherin";

Wy moatte witte oft de earste line fan de twa nammen. It brûkt strpos function ($ str, $ sykje). It jout de posysje fan de winske substring $ sykje, as de tekenrige is opnommen yn 'e earste, $ str. Oars, de funksje jout in Booleaanske wearde Net-wier. Bygelyks, strpos ($ string, $ anotherName) jout falsk, en de strpos ($ string, $ namme) - in hiel getal. De koade sil wêze sokke (Write opsje, doe't de posysje wurdt werjûn op it skerm):

$ String = "Myn namme is Yemelyan en ik bin 27 jier ald";

$ Name = "Yemelyan";

$ AnotherName = "Katherin";

echo strpos ($ string, $ anotherName ); // útgongen false

echo strpos ($ string, $ namme ); // toant de posysje fan it earste foarkommen fan in tekenrige

Tink derom dat line nûmering begjint by nul, dat wol sizze, yn ús gefal de lêste rigel jout it nûmer 11 (spaasjes wurde ek rekkene).

Search posysje fan de lêste fynplak fan in substring en falkûlen

As de strpos () jout de posysje fan it earste fynplak, dan har omkearde strrpos () searches foar it lêste fynplak fan in substring.

Der binne inkele falkûlen ferbûn mei it begjin fan 'e nûmering. It moat rekken hâlden wurde mei: Yn PHP string manipulaasje kin complicated troch restriksjes yn ferliking. Sa, is it better net te brûken yn de ferliking operaasje mei in ûntkenning: strpos ($ str, $ sykje) = falske !. Yn eltse ferzje fan PHP mei foarbylden fan sokke lykweardigens miskien net goed wurkje, omdat de line nûmering begjint om nul, en 0 logysk ynterpretaasje is falsk. Dit rint oant strrpos () funksje.

Hoe fine it oantal substring foarkommende gefallen oanpasse wolle

Faak je moatte fine is net de earste of lêste foarkommen fan in substring yn de snaar, en it totale oantal. Foar dit doel substr_count () funksje, dy't fersoarget op syn minst twa fariabelen: substr_count ($ str, $ sykje). It jout in hiel getal. As jo wolle ferminderje de wurkingssfear fan it sykjen op 'e line, de funksje passed twa fariabelen: it begjin en de ein fan de line, resp. Dat is de funksje yn dit gefal wurdt neamd as: substr_count ($ str, $ search, $ start, $ ein). De funksje sil sjen nei substring $ sykje yn de ynterval fan $ begjinne oan $ ein fan 'e oarspronklike string $ str. As de tekenrige is net fûn, de funksje jout nul.

Hoe feroarje it gefal fan de rigels yn de PHP: foarbylden

Feroaring gefal wurdt faak brûkt om ferlykje snaren en conditionals. Lit ús sizze de brûker moat fier de namme fan 'e heechste god yn de Noarske mytology. It programma is in ferzje fan "Ien", mei wa't er wurdt fergelike mei de brûker syn antwurd. As de ynfierde tekst sil dit itselde as it besteande (bygelyks, in brûker skriuwt in "ien" of "ien"), it programma sil weromkomme false ynstee fan wier. Om foar te kommen dat, brûk de funksje register feroarings. Dit wurdt faak brûkt as it webstee beskikber is yn PHP tags: Yn stee fan hûnderten farianten fan it wurd "privee" (.. "Private," "privee," "persoanlike" en sa fierder) is der mar ien tag yn lytse letters.

strtolower () funksje feroaret de legere register. Stel, der is in rigel $ catName = "Fluffy". strtolower function ($ catName) jout de tekenrige "pluizig". Feroarje nei haadletters kin fia strtoupper () funksje.

Hoe fine de lingte fan in string yn PHP: Wurkje mei funksjes

Faak is it moat te finen de lingte fan de snaar. Bygelyks, yn PHP wurk mei snaren fan dit soarte ferplichte wêze yn 'e skepping syklus. Foar de sykterm brûkte strlen () funksje, dat jout in getal - it oantal karakters. Wy moatte net ferjitte dat de lêste karakter sil hawwe in oantal strlen ($ str) -1, as de nûmering begjint mei nul.

It heljen en ferfangende substring yn PHP: Wurkje mei snaren

Getting substring substr funksje wurdt útfierd () dat kin nimme twa of trije arguminten: substr ($ str, $ start, $ ein). Litte we sizze wy hawwe in string $ string = "Fluffy kat", en wy wolle krije in substring fan it twadde nei it fjirde karakter. Sûnt nûmering begjint op nul, dit substring fan de fariabele sil der sa útsjen: $ newString = substr ($ string, 1, 4). As wy yntrodusearje de $ newString = substr ($ string, 1), wy krije in substring fan it twadde nei it lêste karakter (dus "Britanaw"). Dizze koade is gelyk oan de folsleine koade tekenrige mei help strlen (): substr ($ string, 1, strlen ($ tekenrige)).

As ferfanging fan it substring wurdt brûkt str_replace () funksje, dat duorret trije fariabelen: str_replace ($ substr, $ newSub, $ str). Oars as in protte funksjes, str_replace () wurket goed mei Syrillysk tekens en hat gjin analoge prefixed. foarbyld:

$ Str = "Hjoed is it wer verschrikkelijk!";

$ NewStr = str_replace ( "skriklike", "prachtich", $ str); // Hjoed is de prachtige waar!

Oersetting string nei in getal

Wa't hat studearre web programmearring, ier of let moatte bekearen de tekenrige nei in getal. Foar dit doel, twa ferlykbere funksjes wurde brûkt: intval () en floatval (), elk wêrfan ûntfangt ien fariabele $ string. Fan elkoar, se ferskille allinnich troch de soarte fan gegevens werom: intval () jout in hiel getal, en floatval () - driuwende komma.

Foar gebrûk as intval (), en floatval () fereasket dat de snaar begjint mei in nûmer, en hja sille omsetten ta in nûmer. As de nûmers sille gean elke set fan brieven, se gewoan negearje is. Yn dat gefal, as de line begjint mei de brieven, it brûken fan 'e funksje sil weromkomme nul. It leafst, de line moat befetsje allinnich sifers.

Oersetting fan in tekenrige

Faak moatte bekearen ta it nûmer yn in tekenrige. Bygelyks, as jo wolle nimme de helte dêrfan en te erect in fjouwerkant (bygelyks, kontrolearje oft de fergeliking is tefreden: 88 x 88 + 33 x 33 = 8833). Yn dit gefal, de funksje strval (), dat jout in tekenrige nûmer. Nei dy in nije rigel, kinne jo útfiere alle oare aksjes: edit, fine in oerienkomst mei de substring, en oare funksjes. As it nedich is, de line kin opnij omboud ta it oantal al beskreaun boppe.

It artikel waard sjoen mar in lyts part fan alle funksjes ferbûn mei de line. Part fan undocumented funksjes wurkje mei symboalen, mar meast hie net opnaam yn it materiaal fanwege de spesifisiteit. Om wurden bekend mei de funksjes is nedich om fierder te gean te lêzen de offisjele dokumintaasje op PHP, hokker aktuele ynformaasje.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fy.unansea.com. Theme powered by WordPress.