Grunnleggende PHP - Del 10 Innledning Dette er del 10 av min serie, Grunnleggende PHP. I PHP en matrise er en ordnet kart hvor verdiene er knyttet til tastene. Jeg forklare alt som i denne artikkelen, og hvordan du bruker en PHP array. PHP matrise er forskjellig fra matriser i andre programmer. Merk: Hvis du ikke kan se koden, eller hvis du tror noe mangler (ødelagt kobling, bilde fraværende), bare kontakte meg på [email protected]. Det er, kontakt meg for den minste problemet du har om hva du leser.
Noen Array innhold Eksempler Tenk deg at du er en eier av en liten bedrift, og du har 10 ansatte. I PHP-programmet, kan du ha sine første navnene i en matrise. Hver oppført element her er et fornavn. La listen være: 1 John 2 Mary 3 Peter 4 Augustine 5 Angela 6 Susan 7 Martin 8 Grace 9 Pearl 10 Simon I andre programmer heltall av listen er kalt indekser og de første navnene kalles verdier. I PHP heltall kalles nøkler og de første navnene er fortsatt kalles verdier. Nå vurdere fem første navnene på elevene i en ungdomsskole.
Tabellen nedenfor gir de første navnene på den ene siden, og alder og klasse på den annen side. Anthony "10, 7" Catherine "10, 8" Ursula "11, 8" Gladys "13, 9" Sandra "10, 7" Her tastene er de første navnene. Verdiene er strenger. I hver streng har du alder og klasse, som er atskilt med komma. En PHP array kan ta den første tabellen eller denne tabellen. En PHP array består av nøkkel /verdi-par. Verdier er vanligvis litteraler. Nå trenger nøklene ikke bare å være alle heltall eller alle tekster.
De kan være blandet; heltall og tekst, som i følgende hypotetiske tabellen: foo 13 9 "bar" mann 23 5 "kvinne" boy "mannen i morgen" Her tastene er foo, 9, mann, 5 og gutt. Verdiene er, 13, "bar", 23 "kvinne" og "mann i morgen". Notat; når du setter en tabell i en matrise, hvis nøkkelen er tekst, må det være i enkle eller doble anførselstegn. Merk også at element (verdi) posisjonsnummer telling begynner fra null og ikke 1. Merk: Array verdier kalles elementer.
Opprette en Array Du kan opprette en matrise med nøkkel /verdi-par på samme tid, eller du kan opprette en matrise tom, og deretter satt i nøkkel /verdi-par etterpå. For å opprette en matrise for den siste tabellen ovenfor, du ville gjøre, $ myArr = array ("foo" => 13, 9 => "bar", "man" => 23, 5 => "kvinne", "gutt" => "mannen i morgen"); $ myArr er et navn du programmerer gir for matrisen. Den etterfølges av oppdraget operatør; så det reserverte ordet, array; deretter parentes. I parentes, har du nøkkel /verdi-par. Hver tast som tekst må være i enkle eller doble anførselstegn.
De nøkkel /verdi-par er atskilt med komma. Legg merke til bruken av => i hver nøkkel /verdi-par. Hver tast som er et heltall, trenger ikke å være i anførselstegn. Hver verdi som er et tall (heltall eller float) ikke behøver å være i anførselstegn. Du kan opprette en tom matrise og deretter sette de viktigste verdiparene senere. For å opprette en tom array du gjør dette, $ myArr = array (); $ myArr er bare et navn du gir.
Å sette i nøkkel /verdi-par av den siste tabellen, gjør du $ myArr ["foo"] = 13; $ myArr [9] = "bar"; $ myArr ["mann"] = 23; $ myArr [5] = "kvinne"; $ myArr ["boy"] = "mannen i morgen"; For hver nøkkel /verdi-par, begynner du med variabel av tabellen. Dette er umiddelbart etterfulgt av hakeparenteser. Innenfor hakeparenteser, har du nøkkelen. Hvis nøkkelen er tekst, er det i anførselstegn (enkle eller doble). Hvis nøkkelen er et tall, er det ikke i anførselstegn. Dette blir etterfulgt av tildeling operatør og deretter verdien.
Hvis verdien er en streng (enkel eller dobbel), er den i anførselstegn; hvis det er et tall, er det ikke i anførselstegn. Merk: en nøkkel kan være et helt tall, men det kan ikke være en flottør. Tilgang til et Array Verdi Syntaksen for tilgang til en rekke verdi, bør $ arrayName [key] Tekst nøkkelen være i anførselstegn.
Så hvis du vil ha tilgang til den tredje verdien for ovennevnte array, ville du gjøre, $ myArr ["mann"] Verdien som returneres kan tildeles en variabel, noe sånt som: $ myVar = $ myArr ["mann"]; Les og prøv følgende kode, hvor den tredje verdien vises to ganger: $ myArr = array (); $ myArr ["foo"] = 13; $ myArr [9] = "bar"; $ myArr ["mann"] = 23; $ myArr [5] = "kvinne"; $ myArr ["boy"] = "mannen i morgen"; echo $ myArr ["mann"] »$ myVar = $ myArr [" mann "]; echo $ myVar;?> Endre verdien for en tast Du endrer en verdi for en nøkkel ved bare å tildele en ny verdi for nøkkelen.
For å endre verdien av den fjerde nøkkelen av tabellen ovenfor, vil du gjøre noe sånt.: $ myArr [5] = "jente"; Tilføye en nøkkel /verdi-par med hakeparentes Syntax Legger del legge nederst Du tilføye en nøkkel /verdi-par ved bare å tildele den nye verdien for den nye nøkkelen med hakeparentes syntaks, noe sånt.: $ myArr ["newKey"] = "ny verdi"; Du kan velge ikke å ha en nøkkel I så fall gjør du noe sånt som: $ myArr [] = "ny verdi"; I dette tilfellet tolken gir deg et tall som sentrale The heltall gitt er det høyeste tall som allerede finnes som sentrale i rekken, pluss 1.
For tabellen over av blandet nøkkelen. typer, ville det være 10, ettersom den høyeste heltallet nøkkelen er tilstede 9. Hva om det tilfellet hvor matrisen ikke har noen heltall tast? I et slikt tilfelle er heltall gitt er null. Etter at matrisen vil ha en helt tall som nøkkel, og resten vil være tekster. Array funksjoner Det er mange funksjoner du kan bruke til å påvirke en matrise. Jeg vil gi deg noen få. Merk: når du ringer en funksjon, må du bruke parenteser. Tellingen Funksjon Denne funksjonen gir deg antall elementer (verdier) i tabellen.
Den forenklede Syntaksen for dette er: int count ($ arrayName) int det betyr at funksjonen returnerer et heltall, som er antallet elementer i tabellen. Du kan tilordne returverdien til en variabel eller du kan bruke tellefunksjonen i noen uttrykk. Les og prøv følgende: $ myArr = array (); $ myArr ["foo"] = 13; $ myArr [9] = "bar"; $ myArr ["mann"] = 23; $ myArr [5] = "kvinne"; $ myArr ["boy"] = "mannen i morgen"; echo count ($ myArr); ?> Den returnerte verdien er 5. array_shift Funksjon Denne funksjonen fjerner første element fra en matrise og returnerer det elementet.
Les og prøv følgende kode: $ myArr = array (); $ myArr ["foo"] = 13; $ myArr [9] = "bar"; $ myArr ["mann"] = 23; $ myArr [5] = "kvinne"; $ myArr ["boy"] = "mannen i morgen"; echo array_shift ($ myArr); echo "echo count ($ myArr);> En forenklet syntaks for array_shift funksjonen er:? blandet array_shift ($ arrayName) Her, blandet, betyr den returnerte verdien kan være av hvilken som helst type Det kan være en dupp eller en streng for eksempel. .
Hvis det er en streng, er det tilbake uten anførselstegn The array_pop Funksjon array_pop funksjonen fjerner det siste elementet fra en matrise og returnerer som element Les og prøv følgende:.. $ myArr = array (); $ myArr ["foo "] = 13; $ myArr [9] =" bar "; $ myArr [" mann "] = 23; $ myArr [5] =" kvinne "; $ myArr [" boy "] =" mannen i morgen "; echo array_pop ($ myArr); echo "echo count ($ myArr); ?> En forenklet syntaks for funksjonen er: mixed array_pop ($ arrayName) sorteringsfunksjonen Denne funksjonen sorterer verdiene av en matrise, arrangere dem i alfabetisk rekkefølge og /eller fra lavest til høyest.
Les og prøv følgende kode: $ myArr = array (); $ myArr ["foo"] = 13; $ myArr [9] = "bar"; $ myArr ["mann"] = 23; $ myArr [5] = "kvinne"; $ myArr ["boy"] = "mannen i morgen"; sort ($ myArr); print_r ($ myArr); ?> Den print_r samme funksjon ekkoet konstruere. Imidlertid kan print_r funksjon sende ut de enkelte elementene i en matrise når det har matrisen variabel som argument. Ekkoet konstruksjonen kan ikke gjøre dette når det har matrisen variabel som argument. I resultat for koden ovenfor, ikke bekymre deg mye om indeksene i klammer. For nå bare vet at verdiene i matrisen er sortert.
En forenklet syntaks for sorteringsfunksjonen er: bool sort ($ arrayName) Her betyr bool at returverdien er enten sant eller usant. Hvis sortering prosessen var vellykket, sant er returnert. Hvis det ikke var vellykket, falsk returneres. De array_push Funksjon array_push funksjon føyer til en eller flere verdier til enden av rekken. Du kan legge til bare verdier; du kan ikke legge til de tilsvarende tastene. I dette tilfellet tolken gir deg heltall som nøkler.
Les og prøv følgende: $ myArr = array (); $ myArr ["foo"] = 13; $ myArr [9] = "bar"; $ myArr ["mann"] = 23; $ myArr [5] = "kvinne"; $ myArr ["boy"] = "mannen i morgen"; array_push ($ myArr, "nest siste", "siste"); print_r ($ myArr); ?> Matrisen har ikke blitt sortert, så i resultatet, er tastene gitt av print_r funksjonen. Legg merke til at 10 og 11, som er de neste heltall etter 9 (den høyeste tilgjengelige indeksen) har fått som taster for merverdier i resultatet.
En enkel syntaks for array_push funksjonen er: int array_push ($ arrayName, verdi, verdi, verdi); Det første elementet i parentes er rekke variable, resten av elementene er de verdier, vanligvis i sine bokstavelige former. Kan ha en eller flere verdier, ikke er strengt tre som angitt ovenfor. Alle elementene i parentes er atskilt med komma. Den returnerte verdien av funksjonen er et heltall, som er den nye totale antallet elementer (teller) i tabellen. I ovennevnte tilfelle er det 7. unset Funksjon unset funksjon ødelegger en eller flere nøkkel /verdi-par i en matrise.
Les og prøv følgende kode: $ myArr = array (); $ myArr ["foo"] = 13; $ myArr [9] = "bar"; $ myArr ["mann"] = 23; $ myArr [5] = "kvinne"; $ myArr ["boy"] = "mannen i morgen"; unset ($ myArr [9], $ myArr ["mann"]); print_r ($ myArr); ?>