Indholdsfortegnelse:
- Sådan oprettes arrayer med eksploderer
- Brug eksplodere
- Oprettelse af arrays med preg_split
- Brug af preg_split
Video: Technology Stacks - Computer Science for Business Leaders 2016 2025
Mange gange kan det være nyttigt i PHP at bryde en streng i en matrix, især når du læser input fra en fil til HTML5 og CSS3 programmering. Her er de to forskellige måder at gøre dette på:
-
eksplodere : eksplodere tager en parameter som en afgrænser og splittrer strengen i en matrix baseret på den ene parameter.
-
preg _ split : Hvis du har brug for regulære udtryk, er det meget godt at bruge preg_split. split giver dig mulighed for at tage komplicerede klumper af tekst, se efter flere forskellige afgrænsere gemt i et regulært udtryk og bryde det ind i en matrix baseret på de afgrænsere, du angiver.
explode fungerer godt med kommaseparerede værdier (CSV) filer og lignende, hvor alle de parametre, du ønsker at bryde teksten på, er de samme. preg_split fungerer bedre, når der er mange forskellige parametre, som du ønsker at bryde teksten på, eller når parameteren du leder efter er kompleks.
Sådan oprettes arrayer med eksploderer
Array oprettelse med eksplodering er meget ligetil:
eksplodere ("", $ theString);
Den første værdi er den parameter, som du opdeler strengen på. Den anden værdi er den streng, du gerne vil opdele i en matrix. I dette eksempel vil strengen blive opdelt på hvert rum. Du kan sætte alt hvad du vil have som split parameter.
Så hvis du har den streng, som du vil gemme hvert ord som en værdi i, skal du indtaste følgende kode:
eksplodereBrug eksplodere
php $ theString = "Twas brillig og de slithy toves"; $ theArray = eksplodere ("", $ theString); print "n"; print_r ($ theArray); print "n"; ? >
Afbryderen kan være alt hvad du vil. Hvis du har en CSV-fil, hvor hver værdi er adskilt af et komma, kan din eksploderingsmetode se sådan ud:
$ theArray = eksplodere (",", $ theString);
Oprettelse af arrays med preg_split
preg_split er lidt mere kompliceret. preg_split bruger regulære udtryk til at opdele en streng i en matrix, hvilket kan gøre det lidt langsommere end at eksplodere.
preg_split ser ud som at eksplodere, men i stedet for et tegn i citater kan du få fat i alle de tegn, du vil dele op i parenteser inde i citaterne, eller du kan bruge et kompliceret regulært udtryk til at bestemme, hvordan værdierne vil splitte.
Regelmæssige udtryk fungerer ens i JavaScript og i PHP, fordi begge sprog har afledt deres regulære udtrykværktøjer fra det ældre sprog Perl. (Den del af står for "Perl regulære udtryk.")
Et eksempel, hvor du vil bruge preg_split i stedet for at eksplodere, kan være, når du behandler en e-mail-adresse. En grundlæggende e-mail-adresse har prikker (.) Og et at-tegn (@). Så for at opdele på et af disse tegn, kan du gøre følgende:
preg_split. htmlBrug af preg_split
php $ theString = "joe @ somewhere. net"; $ theArray = preg_split ("/[@.]/", $ theString); print "n"; print_r ($ theArray); print "n"; ? >
Husk at regelmæssige udtryk er indkapslet i skråstregen, og de firkantede bøjler angiver et af flere muligheder. Du vil opdele på enten tegnet eller perioden. Husk at angive perioden med. fordi en almindelig periode betyder "enhver karakter. "
preg_split fungerer godt for tidsstempler, e-mail-adresser og andre ting, hvor der er mere end blot en unik afgrænsning, som du ønsker at opdele strengen på.
Tidligere versioner af PHP havde en funktion kaldet split. Det var meget som preg_split-funktionen, men det brugte en anden regulær ekspressionssyntax. Næppe nogen brugte det, og det understøttes ikke længere. Brug eksplodere til enkle mønstre og preg_split, når du har brug for kraften i regulære udtryk.