Plocka upp var del 1 i denna serie släppte, fortsätter denna handledning att vägleda dig genom att komma igång med PHP-arrays och loopar. Grundläggande grunder kommer att läras tillsammans med deras likartade partners som används i populär programvara som Wordpress.
Nybörjare: För att kunna förstå dessa begrepp, rekommenderar vi starkt att du först läser del 1. Del två i denna serie går igenom grundläggande PHP-principer som hjälper till med daglig kodning. Detta inkluderar att skapa och använda arrayer och loopar för att lagra och hämta data när du vill.
En array är vad du vänder dig till när du befinner dig att skapa liknande variabler om och om igen. Två ord används när man hänvisar till innehållet i en array. Dessa ord är "nyckel" och "värde". Varje matris har minst 1 nyckel och värde. De kommer alltid att komma i par eftersom nyckeln avser värdet. Det finns tre typer av arrays: Associative, Numeric och Multidimensional. Multidimensionella arrays är helt enkelt arrays inom arrays. Låt oss ta en kort titt på de första två.
En associativ array är till hjälp genom att nyckel- förklaras av programmeraren någonstans och ger därmed sammanhang till värdet. Till exempel skapar jag en matris som innehåller personlig information om mig själv. Nedan ser du två sätt att lägga ut arrayen i PHP. Syftet med det andra är endast för organisation och lätthet att läsa. Som Jeffrey nämnde i del en av denna serie är PHP inte vitkänsligt.
"Erik Reagan", "ockupation" => "Webbutvecklare", "plats" => "Savannah, GA USA"); ?>
'Erik Reagan', 'ockupation' => 'Webbutvecklare', 'ålder' => 23, 'plats' => 'Savannah, GA USA'); ?>
Det är bra och allt - men hur får jag min information att visas i HTML? Jag är glad att du frågade! Det är ungefär som att visa en variabel men du lägger till en liten extra bit data: nyckel-.
Mitt namn är =$personalInfo['name']?> och jag är en =$personalInfo['occupation']?> i =$personalInfo['location']?> och am =$personalInfo['age']?> år gammal.
Vänta en sekund? Vad är det här =… ?> plötsligt plötsligt? Bra att använda =?> är stenografi PHP för . I del ett lärde du dig att eko Kommando liknar skriva ut på andra språk. Shorthand PHP är bara ett sätt att skriva mindre kod medan du arbetar.
Ibland behöver du inte ha ett ord förknippat med ett värde inom en array. I så fall använder du en numerisk array som faktiskt skapas som standard i PHP. Ovan använde vi lika tecken följt av större än tecken (=>) för att ställa in arrayvärden till nycklar. Med numeriska arrays kan du enkelt ställa in värdena och nyckeln antas stegvis. Låt oss ta en titt:
'Erik Reagan', 'ockupation' => 'Webbutvecklare', 'ålder' => 23, 'plats' => 'Savannah, GA USA'); $ fruit = array ("apple", "orange", "druvor"); ?>
Som ni kan se har vi gjort ingenting annat än sätta värden i denna array. PHP tog hand om nycklarna för oss. Så långt som du nybörjare är oroade nycklar ALLTID börja med nummer 0 och öka med 1 med varje nytt matriselement. När du går djupare in i att lära dig om arrays kommer du att lära dig att du kan manipulera dem efter vilja - men det är inte täckt här idag. "Hur vet jag vilken nyckel att använda", kanske du frågar. Det enkla sättet i vårt exempel är bara att börja vid noll och hitta ditt element. Till exempel är nyckeln för "äpple" 0, nyckeln för "orange" är 1 och nyckeln för "druvor" är 2. Ganska enkelt, va. Tja ibland blir dina arrays enorma och går upp i 10-talet och kanske hundratals. Ingen vill sitta där och räkna den där röra. Din första instinkt kan vara att helt enkelt springa "echo $ fruit" men det kommer bara att spotta ordet "Array". PHP ger oss några enkla sätt att granska vår array data. Låt oss titta på två av dem.
'Erik Reagan', 'ockupation' => 'Webbutvecklare', 'ålder' => 23, 'plats' => 'Savannah, GA USA'); $ fruit = array ("apple", "orange", "druvor"); print_r ($ personalInfo); var_dump ($ frukt); ?>
Observera att köra dessa i din webbläsare kan ge något ganska otäckt utseende. Den första gruppen kommer särskilt att vara oattraktiv och kanske svår att läsa. Det kan gynna dig att kasta
taggar runt dessa två kommandon så att det vita utrymmet är förformaterat korrekt. Om du antar att du har placerat dessa taggar runt kommandot bör du skriva ut följande till dig:Array [4] ["name"] => string (11) "Erik Reagan" ["ockupation"] => sträng (11) 13) "Webbutvecklare" ["age"] => int (23) ["location"] => sträng (16) "Savannah, GA USA"
Den första funktionen, print_r (), kommer helt enkelt att skriva ut strukturen och innehållet i din matris. De nycklar kommer att ligga till vänster i parentes och värden kommer att vara till höger om motsvarande nycklar. I den andra funktionen, var_dump (), du lär dig och bitar mer om dina data. Notera "Ålder" nyckeln i $ personalInfo-matrisen. Värdet är inte i citat som de andra värdena är. Jag gjorde det så att du kunde skilja mellan två typer av data i PHP. Något i citat anses vara a sträng och i fallet med "åldersdata" är det en heltal. Jag kommer inte att gå in på detaljer om de andra typerna av data men jag pekar på detta eftersom var_dump () funktion ger dig lite användbar information.
Lägg märke till den första bit som kommer i första raden "array (4)". Den första biten dumpade säger" Detta är en array och den innehåller 4 datasatser ". När du går ner till nästa rad får du din nyckel, du ser den första nyckeln och då står det"sträng(11)". Detta säger" Det här är en sträng och den är 11 tecken långa "(kom ihåg att ett tomt utrymme betraktas som ett tecken). Hoppa ner till" Ålder "nyckeln och märk den säger int (23). Detta säger "Detta är ett heltal med ett värde av 23".
Nu när du vet hur du ska använda print_r () och var_dump () Vi kommer att fortsätta att loopa igenom dessa data.
Som nämnts ovan är en multidimensionell array helt enkelt en grupp som innehåller minst en ytterligare array som ett värde. Jag kommer att springa med "personalInfo" -exemplet och skapa en uppsättning för ett personalteam.
$company = array( 'info' => array ('name' => 'Awesome Web Company', 'plats' => 'Savannah, GA', 'website' => 'http://weAreAwesome.com'), 'staff' => array namn '=>' Kermit the Frog ',' position '=>' VD '), array (' namn '=>' Hiro Nakamura ',' position '=>' Art Director ' 'Willy Wonka', 'position' => 'Webbutvecklare')))); ?>
Som du kan se multidimensionella arrays kan bli komplicerade. Det här är ett udda exempel, eftersom den här typen av data normalt lagras i en databas och senare togs in med PHP. Men för att lära oss om arrays börjar vi med data inom PHP. Den första nyckeln i denna array heter "info" och dess värde är faktiskt en associativ grupp innehållande företagsinformation. Den andra nyckeln i vårt $ company array är "personal" och det är värdet är en numerisk matris. Låt oss ta en titt på strukturen innan vi börjar. Löpning print_r ($ företag) kommer att producera följande:
Array ([info] => Array ([namn] => Awesome Web Company [plats] => Savannah, GA [website] => http://weAreAwesome.com) [personal] => Array ([0] => Array ([name] => Kermit the Frog [position] => VD) [1] => Array ([namn] => Hiro Nakamura [position] => Art Director) [2] => Array > Willy Wonka [position] => Webbutvecklare)))
Nu är vår företagsinformation redo för åtkomst. Vi har tillgång till de interna arraysna på samma sätt som vi öppnat vår personliga information tidigare. Här är ett exempel på att använda data från denna multidimensionella array:
=$company['info']['name']?>
Ligger i =$company['info']['location']?> och online på ">=$company['info']['website']?>.
Vår VD
=$company['staff'][0]['name']?>
Nu när vi har ett grepp om arrayer kan vi hoppa in i slingor som kommer att minimera tiden vi spenderar för att analysera matrisdata.
Slingor kommer att vara ganska praktiska eftersom mängden data du jobbar med ökar. Vi har gått in i arrays så att det naturligtvis leder oss till loopar. I det sista kodfältet listade vi en anställd inom $ företag array. Vad händer om vi vill cykla, eller loopa, genom varje anställd och visa informationen på ett enhetligt sätt? Tja i kommer för varje slinga. Precis som funktionen låter det kommer att göra en specifik åtgärd för varje av elementen i en array eller ett objekt. Det ser normalt ut så här:
$ värde) ... någon kod här?>
Notera de tre variablerna som passerat till den här funktionen. Den första är helt enkelt den grupp vi jobbar med. Den andra och tredje variablerna definieras av DIG och kan säga allt du vill ha. Det här är vad som hänvisar till arrayens data inom de krökta parenteserna. Vi kommer att titta på detta på ett ögonblick. Men först, precis som eko Kommandot har en stenografi eller alternativ syntax, för varje har något som hjälper transversellt mellan PHP och HTML. På så sätt håller koden så ren som möjligt. Det ser ut så här:
foreach($array as $key => $ värde):?>Några html och några php kommer att gå här
endforeach; ?>
Du kommer att se detta format i om uttalanden och medan loopar också (i Wordpress till exempel). Nu när vi har tittat på formatet för den här funktionen, låt oss sätta den i funktion. Kommer tillbaka till företagsinformationen array låt oss bygga en bra sida med den data
$company = array( 'info' => array ('name' => 'Awesome Web Company', 'plats' => 'Savannah, GA', 'website' => 'http://weAreAwesome.com'), 'staff' => array namn '=>' Kermit the Frog ',' position '=>' VD '), array (' namn '=>' Hiro Nakamura ',' position '=>' Art Director ' 'Willy Wonka', 'position' => 'Webbutvecklare')))); ?>=$company['info']['name']?>
Ligger i =$company['info']['location']?> och online på ">=$company['info']['website']?>.
Vår personal
I detta fall för varje loop cykler genom varje anställd och visar HTML och PHP vi sa det gör. Jag vet exakt hur många anställda som är i gruppen så det slutar när det kommer till slutet. Jag är säker på att du kan se hur användbar detta kan bli.
Även om denna handledning kan tyckas "frigöra kraften i arrays och loopar", klarar det verkligen bara ytan. Jag uppmuntrar alla som är intresserade (och det betyder att du om du fortfarande läser detta) för att läsa igenom PHP online docs för den version du använder. Du hittar dem på php.net. Vi använde bara en slinga i denna handledning, för varje slinga. Det finns andra som för, göra medan och medan som du också kommer att använda från att veta om.