Programmera i PHP/Listor och vektorer i PHP
Listor och vektorer är svenska omskrivningar för den engelska beteckningen "array". I praktiken är det en lista med objekt placerade i en ordning som gör det möljigt att sortera den och hämta enstaka objekt or den.
Det finns några saker som är grundläggande:
1: En arrays första objekt har inte position 1, som man skulle kunna tro, utan position 0. Exempel:
<?php $pasta = array("makaroner","spagetti","nudlar"); echo "Jag gillar " . $pasta[0] . ", " . $pasta[1] . " och " . $pasta[2] . "."; ?>
Resultatet blir:
Jag gillar makaroner, spagetti och nudlar.
2: En array kan ges ett värde direkt, istället för en siffra, för sin position. Exempel:
<?php $mat=array("Peter"=>"pizza","Benny"=>"pannkaka","Glenn"=>"paj"); echo "Peter gillar " . $mat['Peter'] . ", Benny gillar " . $mat['Benny'] . " och Glenn bara älskar ". . $mat['Glenn'] . "."; ?>
Resultatet blir:
Peter gillar pizza, Benny gillar pannkaka och Glenn bara älskar paj.
3: Det går enkelt att räkna igenom en array, post för post, om indexet är baserat på siffror:
<?php $pasta = array("makaroner","spagetti","nudlar"); $arrlength=count($pasta); //Räkna hur många saker som finns i listan for($x=0;$x<$arrlength;$x++) { echo $pasta[$x]; echo "
"; } ?>
Detta ger
makaroner spagetti nudlar
4: Det går att göra på ett liknande sätt även om en lista inte är indexerad på heltal utan pånamn: <?php
$mat=array("Peter"=>"pizza","Benny"=>"pannkaka","Glenn"=>"paj"); foreach($mat as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "
"; } ?>
Ger:
Key=Peter, Value=pizza Key=Benny, Value=pannkaka Key=Glenn, Value=paj
5: Du kan lägga in varje post manuellt, något du kommer att göra så fort du använder t.ex. kryssrutor i formulär på Internet:
<?php $frukt[] = "Äpplen"; $frukt[] = "Päron"; $frukt[] = "Bananer"; $arrlength=count($frukt); //Räkna hur många saker som finns i listan for($x=0;$x<$arrlength;$x++) { echo $frukt[$x]; echo "
"; } ?>
Detta ger:
Äpplen Päron Bananer
6: Det går att lägga in ett annat startnummer för en array, även om det inte är särskilt bra idé:
<?php $frukt[14] = "Äpplen"; $frukt[15] = "Päron"; $frukt[16] = "Bananer"; echo $frukt[14]; ?>
Ger
Äpplen
medan
echo $frukt[0];
ger ett felmeddelande.