Allmänt
Manipulationer
Sorteringar
Stackar och köer
Strängar
1.12.1 Allmänt
Det finns några vanliga saker man ofta vill göra med arrays,
bl.a. räkna antalet.
Nedan visas exempel på:
- count - antal element i arrayen
- min - minsta värdet
- max - största värdet
- foreach - loop i arrayen
- reset - gå till första posten
i arrayen
- current - nuvarande post i arrayen
- next - nästa värde (även om
det inte visas i exemplet så finns det även prev och end
för föregående och sista posten)
- list - konverterar arrayens värden till
"vanliga" variabler
- each - komplemet till each
<?php
# skapar en (simpel) array
$personer[] = "anders";
$personer[] = "eva";
$personer[] = "fredrik";
$personer[] = "jonas";
# antalet i arrayen - count()
echo "\$personer innehåller " . count($personer) . "st. rader<br />";
# största värdet - max()
echo "Störst är " . max($personer) . "<br />";
# största värdet - min()
echo "Minst är " . min($personer) . "<br />";
# loopning med foreach - utan index
echo "<b>foreach</b><br />";
foreach( $personer as $person )
echo $person . "<br />";
# loopning med foreach - med index
echo "<b>foreach - med index</b><br />";
foreach( $personer as $index=>$person )
echo $index . " " . $person . "<br />";
# alternativ lösning - förutsätter index som
# går från 0 och uppåt
echo "<b>klassisk for</b><br />";
for ($I = 0; $I < count( $personer); $I++ )
echo $I . " " . $personer[ $I ] . "<br />";
# ytterligare ett alternativ till loop
echo "<b>reset - current - next</b><br />";
for ( reset( $personer ); $nuvarande=current( $personer ); next ( $personer ) )
echo $nuvarande . "<br />";
# "spola tillbaka till början"
reset( $personer );
# ytterligare ett alternativ till loop
echo "<b>list - each</b><br />";
while ( list( $index, $namn ) = each( $personer ) )
echo $index . " " . $namn . "<br />";
# man kan även använda array_walk
# andra parametern är namnet på den funktione
# som skall göra nåt med datat
echo "<b>array_walk</b><br />";
array_walk ( $personer , "visaFunktionen" );
function visaFunktionen ( $elementet )
{
echo $elementet . "<br />";
}
?>
Listning 1.12.1.1 - samples/s107.php
$personer innehåller 4st. rader Störst är jonas Minst är anders foreach anders eva fredrik jonas foreach - med index 0 anders 1 eva 2 fredrik 3 jonas klassisk for 0 anders 1 eva 2 fredrik 3 jonas reset - current - next anders eva fredrik jonas list - each 0 anders 1 eva 2 fredrik 3 jonas array_walk anders eva fredrik jonas
Resultat av listning 1.12.1.1
|