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.