Å plukke opp hvor del 1 av denne serien sluttet, vil denne opplæringen fortsette å veilede deg gjennom å komme i gang med PHP-arrays og sløyfer. Grunnleggende grunnleggende vil bli lært sammen med deres like partnere som brukes i populær programvare som Wordpress.
Nybegynnere: For å forstå disse konseptene fullt ut, anbefales det at du først leser Del 1. Del 2 av denne serien vil gå gjennom å bruke kjente PHP-prinsipper som hjelper til med hverdagskoding. Dette inkluderer oppretting og bruk av arrayer og sløyfer for å lagre og hente data når du vil.
Et array er det du snakker om når du finner deg selv å lage lignende variabler om og om igjen. To ord brukes når man henviser til innholdet i en matrise. Disse ordene er "nøkkel" og "verdi". Hvert array har minst 1 nøkkel og verdi. De vil alltid komme i par som nøkkelen refererer til verdien. Det finnes tre typer arrays: Associative, Numeric og Multidimensional. Flerdimensjonale arrays er ganske enkelt arrays innenfor arrays. La oss ta en kort titt på de to første.
En assosiativ array er nyttig ved at nøkkel erklæres av programmerer et sted og dermed gir kontekst til verdien. For eksempel vil jeg opprette en matrise som inneholder personlig informasjon om meg selv. Nedenfor ser du to måter å legge ut arrayet i PHP. Formålet med det andre er bare for organisering og enkel lesing. Som Jeffrey nevnte i del en av denne serien, er PHP ikke hvitt plasssensitiv.
"Erik Reagan", "okkupasjon" => "Webutvikler", "plassering" => "Savannah, GA USA"); ?>
'Erik Reagan', 'yrke' => 'Webutvikler', 'alder' => 23, 'sted' => 'Savannah, GA USA'); ?>
Det er flott og alt - men hvordan får jeg informasjonen min til å vises i HTML? Jeg er glad du spurte! Det ligner veldig på å vise en variabel, men du legger til et lite ekstra datatykke: nøkkel.
Mitt navn er =$personalInfo['name']?> og jeg er en =$personalInfo['occupation']?> i =$personalInfo['location']?> og am =$personalInfo['age']?> år gammel.
Vent et sekund? Hva er dette =… ?> plutselig plutselig? Vel bruk =?> er shorthand PHP for . I del ett lærte du at ekko kommandoen ligner på skrive ut på andre språk. Shorthand PHP er bare en måte å skrive mindre kode på mens du arbeider.
Noen ganger trenger du ikke å ha et ord knyttet til en verdi i en matrise. I så fall vil du bruke et numerisk array som faktisk er opprettet som standard i PHP. Over brukte vi likestegnet etterfulgt av større enn tegn (=>) for å angi arrayverdier til nøkler. Med numeriske arrays kan du bare sette verdiene og nøkkelen antas trinnvis. La oss ta en titt:
'Erik Reagan', 'yrke' => 'Webutvikler', 'alder' => 23, 'sted' => 'Savannah, GA USA'); $ fruit = array ('apple', 'orange', 'druer'); ?>
Som du kan se har vi gjort ingenting annet enn å sette verdier i denne gruppen. PHP tok seg av nøklene for oss. Så langt som du nybegynnere er bekymret nøkler ALLTID start ved tallet 0 og øk med 1 med hvert nytt arrayelement. Når du går dypere inn i å lære om arrays, lærer du at du kan manipulere dem ved vilje - men det er ikke dekket her i dag. "Hvordan vet jeg hvilken nøkkel å bruke", kan du spørre. Den enkle måten i vårt eksempel er bare å starte ved null og finne elementet ditt. For eksempel er nøkkelen for "eple" 0, nøkkelen for "oransje" er 1 og nøkkelen for "druer" er 2. Ganske enkelt, hei. Vel noen ganger vil dine arrays bli store og gå opp i 10-tallet og muligens hundrevis. Ingen ønsker å sitte der og telle det rotet. Ditt første instinkt kan være å bare kjøre "echo $ fruit", men det vil bare spytte ut ordet "Array". PHP gir oss noen enkle måter å gjennomgå vår array data. La oss se på to av dem.
'Erik Reagan', 'yrke' => 'Webutvikler', 'alder' => 23, 'sted' => 'Savannah, GA USA'); $ fruit = array ('apple', 'orange', 'druer'); print_r ($ personalinfo); var_dump ($ frukt); ?>
Vær oppmerksom på at kjøring av disse i nettleseren din kan forårsake noe ganske styggt utseende. Den første gruppen vil spesielt være unattractive og kanskje vanskelig å lese. Det kan være til fordel for deg å kaste
merker rundt disse to kommandoene, slik at den hvite plassen er forhåndsformatert riktig. Forutsatt at du har plassert disse kodene rundt kommandoen, bør du ha følgende trykt tilbake til deg:Array ([0] => apple [1] => oransje [2] => druer) array (4) ["name"] => streng (11) "Erik Reagan" 13) "Webutvikler" ["age"] => int (23) ["location"] => streng (16) "Savannah, GA USA"
Den første funksjonen, print_r (), vil bare skrive ut strukturen og innholdet i din matrise. De nøkler vil være til venstre i parentes og verdier vil være til høyre for de tilsvarende tastene. I den andre funksjonen, var_dump (), du lærer og litt mer om dataene dine. Legg merke til "alder" -tasten i $ personalInfo-oppsettet. Verdien er ikke i anførselstegn som de andre verdiene er. Jeg gjorde dette slik at du kunne skille mellom to typer data i PHP. Alt i anførselstegn betraktes som a string og i tilfelle av "alder" data er det en heltall. Jeg vil ikke gå inn i detaljer om de andre typer data, men jeg peker på dette fordi var_dump () funksjon gir deg litt nyttig informasjon.
Legg merke til den første biten som kommer i første linje "array (4)"Den første bit dumpet sier" Dette er en matrise og den inneholder 4 sett med data ". Gå ned til neste linje, du får nøkkelen du ser den første nøkkelen, og så står det"streng (11)". Dette sier" Dette er en streng og det er 11 tegn i lengden "(husk at et tomt rom betraktes som et tegn). Hopp ned til" alder "-tasten og legg merke til det står int (23). Dette sier "Dette er et helt tall med en verdi på 23".
Nå som du vet hvordan du skal bruke print_r () og var_dump () Vi vil fortsette å løpe gjennom disse dataene.
Som nevnt ovenfor er et flerdimensjonalt array ganske enkelt en matrise som inneholder minst ett ekstra array som en verdi. Jeg vil kjøre med "personalInfo" -eksempelet og opprette en matrise for et medarbeiderteam.
$company = array( 'info' => array ('name' => 'Awesome Web Company', 'location' => 'Savannah, GA', 'website' => 'http://weAreAwesome.com'), 'staff' => array navn '=>' Kermit the Frog ',' stilling '=>' CEO '), array (' navn '=>' Hiro Nakamura ',' posisjon '=>' Art Director ' 'Willy Wonka', 'posisjon' => 'Webutvikler')))); ?>
Som du kan se multidimensjonale arrays kan bli intrikate. Dette er et merkelig eksempel fordi typisk denne typen data vil bli lagret i en database og trukket inn med PHP senere. Men for å lære om arrays, begynner vi med dataene i PHP. Den første nøkkelen i denne gruppen kalles 'info', og det er verdi er faktisk en assosiativ array som inneholder bedriftsinformasjon. Den andre nøkkelen til vårt $ selskaps array er "stab", og det er verdien er et numerisk array. La oss ta en titt på strukturen før vi begynner. Løping print_r ($ selskap) vil produsere følgende:
Array ([info] => Array ([navn] => Awesome webbedrift [sted] => Savannah, GA [nettsted] => http://weAreAwesome.com) [staff] => Array ([0] => Array ([name] => Kermit the Frog [stilling] => CEO) [1] => Array ([navn] => Hiro Nakamura [posisjon] => Art Director) [2] => Array > Willy Wonka [stilling] => Webutvikler)))
Nå er vår informasjon om selskapet klar til å bli benyttet. Vi har tilgang til de interne arrays på samme måte som vi har tilgang til vår personlige informasjon tidligere. Her er et eksempel på bruk av data fra denne flerdimensjonale gruppen:
=$company['info']['name']?>
Lokalisert i =$company['info']['location']?> og online på ">=$company['info']['website']?>.
Vår administrerende direktør
=$company['staff'][0]['name']?>
Nå som vi har en forståelse om arrayer, kan vi hoppe inn i sløyfer som vil minimere tiden vi bruker til å analysere arraydataene.
Looper vil komme ganske bra ettersom mengden data du jobber med øker. Vi har gått inn i arrays slik at det naturlig fører oss til sløyfer. I den siste kodestykket oppførte vi en medarbeider i $ selskap array. Hva om vi vil sykle, eller loop, gjennom hver medarbeider og vise informasjonen på en jevn måte? Vel i kommer for hver sløyfe. Akkurat som funksjonen lyder vil det gjøre en bestemt handling for hver av elementene i et array eller objekt. Det ser vanligvis ut som dette:
$ verdi) ... noen kode her?>
Legg merke til de tre variablene som er overført til denne funksjonen. Den første er rett og slett den gruppen vi jobber med. Den andre og tredje variabelen er definert av DU og kan si alt du vil ha. Dette er hva som refererer til arrayets data innenfor de krøllete parentesene. Vi vil se på dette i et øyeblikk. Men først, akkurat som ekko kommandoen har en kortfattet eller alternativ syntaks, for hver har noe som vil hjelpe på tvers mellom PHP og HTML. På denne måten holder koden så ren som mulig. Det ser slik ut:
foreach($array as $key => $ verdi):?>Noen html og noen php vil gå her
endforeach; ?>
Du vil se dette formatet i hvis uttalelser og samtidig som sløyfer også (i Wordpress for eksempel). Nå som vi har sett på formatet til denne funksjonen, la oss sette den i aksjon. Når vi går tilbake til bedriftsinformasjonen, la oss bygge en fin side med dataene
$company = array( 'info' => array ('name' => 'Awesome Web Company', 'location' => 'Savannah, GA', 'website' => 'http://weAreAwesome.com'), 'staff' => array navn '=>' Kermit the Frog ',' stilling '=>' CEO '), array (' navn '=>' Hiro Nakamura ',' posisjon '=>' Art Director ' 'Willy Wonka', 'posisjon' => 'Webutvikler')))); ?>=$company['info']['name']?>
Lokalisert i =$company['info']['location']?> og online på ">=$company['info']['website']?>.
Vårt personale
I dette tilfellet for hver loop sykluser gjennom hver medarbeider og viser HTML og PHP vi fortalte det gjør. Jeg vet nøyaktig hvor mange medarbeider som er i gruppen, så det stopper når det kommer til slutten. Jeg er sikker på at du kan se hvor nyttig dette kan bli.
Selv om denne opplæringen kan virke å "slippe løs kraften til arrays og sløyfer", klipper det egentlig bare overflaten. Jeg oppfordrer sterkt alle interesserte (og det betyr at du hvis du fortsatt leser dette) for å lese gjennom PHP online docs for den versjonen du bruker. Du finner dem på php.net. Vi brukte bare en type loop i denne opplæringen, for hver sløyfe. Det er andre som til, gjør mens og samtidig som at du også vil få nytte av å vite om.