några sidor på nätet om PHP programmering

Sök efter  
Börja här Uppgifter Testa dig själv Tips Sidokarta mm. Länkar Sök

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

 

   Börja härArraysAllmänt