Har du noen gang tatt en titt på listen over funksjoner som er tilgjengelige i PHP? Jeg regnet bare 5025 på PHP hurtigreferansesiden. Gitt, det avhenger av hvilke utvidelser du har aktivert, men likevel: det er en haug med funksjoner! Selv om jeg ikke kan vise deg hver og en av dem, hvis du er ny på språket, vil jeg introdusere deg til syv virkelig nyttige i dette raske tipset!
array_rand
La oss starte med en enkel. Har du lyst til å få et tilfeldig element ut av en matrise? Du kan bruke rand
eller mt_rand
for å få et tilfeldig tall, bestått 0 og siste indeks for arrayet som min og max parametrene; Dette vil gi deg en tilfeldig nøkkel som du kan bruke til å trekke en verdi fra din matrise.
Det er imidlertid en måte som er litt raskere: array_rand
. Bare send det din matrise, og det vil returnere tilfeldig nøkkel.
$ sites = ["Nettuts + +", "Psdtuts +", "Mobiletuts +", "Mactuts +"]; $ k = array_rand ($ sites); $ nettsteder [$ k];
Hvis du vil ha mer enn en tilfeldig verdi fra matrisen, send en andre parameter som identifiserer hvor mange; Du får tilbake en rekke tilfeldige nøkler.
strip_tags
Det er ikke uvanlig å akseptere større biter av tekst fra en bruker: kanskje som en kommentar eller et bio. Selvfølgelig vil du sannsynligvis ikke bare ha noen HTML-tagger tillatt i den teksten, skjønt, ikke sant? Du vil ikke ha tilfeldig JavaScript-kjøring, eller kanskje stylingen dikterer at de bare bruker vanlig tekst. Så, du vil fjerne HTML-kodene de skriver inn, ved hjelp av strip_tags
:
$ message = "Dette er min bio"; echo strip_tags ($ message); //" Dette er min bio "
Selvfølgelig vil du kanskje tillate bestemte tagger, som ,
, eller
, for noen enkle styling; send en streng som viser dem som den andre parameteren:
$ message = "Dette er min bio"; echo strip_tags ($ message,""); // "Dette er min bio"
strftime
Datoer er en stor del av noen webapps, så du bør kunne sende dem ut i hvilket som helst format du trenger. Det er ikke vanskelig å få en tidsstempel - du trekker den fra en database eller bruk tid()
, kanskje - men hva med formatering av det? De strftime
funksjonen kan formatere tidsstempelet på noen måte du vil. Du sender det en formatstreng og tidsstempel og får datoen tilbake.
strftime ("% B% d,% Y", tid ()); // 28. juli 2012
Selvfølgelig er det umulig å huske alle formateringstegnene, så jeg bruker den praktiske strfti.me for å hjelpe meg; prøv det, og du vil elske det også.
basename
Når du arbeider med en fil, vil du vanligvis komme på den via den absolutte banen. Men hvis du trenger å vise informasjon om denne filen til brukeren, vil du sannsynligvis bare vise dem filnavnet, og ikke hele banen. Tast inn basename
: Denne hendige funksjonen vil fjerne denne banen ned til bare filnavnet; bare passere det banen som parameteren; Hvis du vil kvitte seg med et suffiks, som en filtillegg, passere det suffikset som den andre parameteren.
$ path = "/some/long/path/to/the/special_file.txt"; $ filename1 = basename ($ path); // special_file.txt $ filename2 = basenavn ($ path, ".txt"); // special_file
liste
Denne er ganske kult: la oss si at du har en matrise, og du vil tilordne elementene til egen variabel. De liste
funksjonen gjør dette super enkelt:
$ array = ["Ellery", "Queen"]; liste ($ first_name, $ last_name) = $ array; ekko $ first_name; // Ellery echo $ last_name; // Queen
Som du kan se, sender vi bare de nye variabelnavnene som parametere til liste
funksjon og sett som er lik arrayen. Det er litt annerledes enn den normale syntaksen, siden funksjonsanropet er til venstre, men ja det virker. Her er et godt eksempel fra PHP docs (for eksplodere
):
$ data = "foo: *: 1023: 1000 :: / home / foo: / bin / sh"; liste ($ bruker, $ pass, $ uid, $ gid, $ gecos, $ home, $ shell) = eksplodere (":", $ data);
område
Hvis du noen gang trenger en liste over tall for å iterere over, vil du sjekke ut område
funksjon. Bare send det et start- og sluttnummer (eller brev), og det vil returnere en rekke tallene:
rekkevidde (0, 10); // array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10) rekkevidde ('a', 'f'); // array ('a', 'b', 'c', 'd', 'e'. 'f');
Som du ser, er det et inkluderende utvalg, så begge tallene du definerer er inkludert. Du kan også sende et trinnparameter for å angi økningen mellom tallene:
rekkevidde (2, 10, 2); // array (2, 4, 6, 8, 10);
isset
Her er en praktisk måte å sjekke om en variabel er innstilt: bruk isset
funksjon. Du sender bare det til et variabelt navn, og det kommer tilbake sant hvis den variabelen eksisterer, og er satt til noe annet enn NULL
.
$ name = "joe"; isset ($ navn); // true isset ($ alder); // falsk
Siden denne funksjonen også fungerer med elementene i array og assosiative arrayer, brukes denne funksjonen ofte til å sjekke eksistensen av bestemte nøkler på $ _GET
og $ _POST
superglobal arrays: Hvis en gitt verdi eksisterer, vil du gjøre en ting; Ellers vil du gjøre noe annet. For eksempel kan en søkside gjøre noe slikt:
hvis (isset ($ _ GET ['spørring'])) // få resultater og vis dem annet // vis noe standardinnhold
Jeg har skrevet en ny ebook, Bli bra med PHP, med Rockable Press.
Vel, det går du: syv praktiske PHP-funksjoner du burde finne ganske nyttig som du kode. Hvis du er ny til PHP, vil jeg fortelle deg noe: Jeg har skrevet en ny ebook, Bli bra med PHP, med Rockable Press. Jeg skrev det spesielt for de som ikke vet noe om PHP, men vil komme opp til fart så raskt som mulig. Hvis det er deg, håper jeg at du vil sjekke det ut når det slipper ut i ekstremt nær fremtid! Vi holder deg oppdatert.
Så, nå som du har lest mine valg, hva synes du PHPs mest praktiske funksjon er? Gi oss beskjed i kommentarene!