Variable og arrays PHP Object orienteret Webintegrator HF
Variable og arrays PHP Object orienteret Webintegrator HF 1
Variable PHP er et loose typed sprog. Det betyder at vi kan erklære vores variabel uden at tage stilling til hvad der skal gemmes i den. Se i koden herunder hvordan $a skifter type afhængig af indholdet. <? php $a; $a = true; printvar($a); $a = 3; printvar($a); $a = $a / 2; printvar($a); $a = "3"; printvar($a); function printvar($var){ printf ("<p>%s with value %s</p>", gettype($var), $var); } ? > © Mercantec 2014
Arrays er dynamiske så vi skal ikke på forhånd angive hverken størrelsen af arrayet eller type af variable. Når vi indsætter værdier i arrayet bliver det automatisk placeret på den første ledige plads, men man kan også vælge at angive et index. <? php $a = array(); $a[] = "Hans"; $a[] = 2; $a[] = true; $a[7] = "Kurt"; $a[5] = "Jens"; print("<pre>"); print_r($a); print("</pre>"); ? > © Mercantec 2014
Array (Loops) Hvis man vil lave et loop som løber gennem alle værdier i arrayet kan man enten vælge en for loop så kigger på sizeof(), eller man kan lave en foreach. Bemærk i øvrigt hvordan eksemplet sætter værdier ind i arrayet i samme linie. <? php $a = array(2, 4, "Peter", 5. 6); for ($i = 0; $i < sizeof($a); $i++){ printf("<p>%s</p>", $a[$i]); } foreach ($a as $b){ printf("<p>%s</p>", $b); } ? > © Mercantec 2014
Assosiative arrays I assosiative arrays kan du anvende keys i stedet for indexnumre til at angive placeringen i arrayet. Du kan fortsat lave foreach hvis du vil loope gennem alle værdier i arrayet. <? php $a = array(); $a["Navn"] = "Kurt"; $a["Gade"] = "Vestergade"; $a["Nr"] = 1; $a["Mail"] = "kurtsm@il. dk"; printf("Hej %s velkommen til", $a["Navn"]); foreach ($a as $b){ printf("<p>%s</p>", $b); } ? > © Mercantec 2014
Assosiative arrays (Keys) Med funktionen array_keys() kan du få alle keys i arrayet. Derefter kan du lave et loop som læser arrayet ved hjælp af dit key array. <? php $a = array(); $a["Navn"] = "Kurt"; $a["Gade"] = "Vestergade"; $a["Nr"] = 1; $a["Mail"] = "kurts@mail. dk"; print ("<p>$a indeholder følgende index keys</p>"); $keys = array_keys($a); print_r($keys); foreach ($keys as $key){ printf("<p>Indholdet på index %s er %s</p>", $key, $a[$key]); } ? > © Mercantec 2014
- Slides: 6