• PHP deel 5: Array’s

    3 February 2011 00:23 door
    Array's een onderwerp dat je best goed door hebt. Het maakt het makkelijker om data door te geven maar ook zeer handig voor tijdelijke interne opslag!



    5.1 Introductie

    Een array in PHP kan je best vergelijken met een Map in Java en C#, een array in Java of C# kan alleen maar Integers als index hebben, in PHP kunnen zowel Integers als Strings gebruikt worden als index. Er is dus eigenlijk een relatie tussen een key en een value. Array’s zijn ofwel enumerative (genummerd) of Associative (met string als index).

    5.2 Array maken

    Een array aanmaken kan op twee manieren, ofwel gebruiken we de functie array() of we plaatsen meteen rechte haakjes achter de variabele:
    PHP-code:
    <?php
        $myArray 
    = array( ‘key’ => ‘value’ );
        
    $myArray2‘key’ ] = ‘value’;
    ?>
    Beide regels in dit voorbeeld hebben hetzelfde resultaat, namelijk een array met 1 item met als Key ‘key’ en als bijhorende value ‘value’.

    De array() functie kan op verschillende manieren gebruikt worden, ofwel worden alle waarde zonder key, gescheiden door een komma meegegeven en worden ze automatisch genummerd. De index begint standaard bij 0 en wordt voor iedere element met 1 verhoogd. We kunnen ook key-value pairs meegeven, dat doen we door de pairs te scheiden met een komma en de key en value zelf te scheiden met =>.
    PHP-code:
    <?php
        $myArray 
    = array( ‘key’ => ‘value’ );
        
    /* Deze array ziet er als volgt uit:
        array (
            [key] => value
        )
        */
        
    $myArray2 = array( ‘value1‘value2’ );
        
    /* Deze array ziet er als volgt uit:
        array (
            [0] => value1
            [1] => value2
        )
        */
    ?>
    5.3 Array’s gebruiken

    We kunnen array’s op verschillende manieren gebruiken, we kunnen twee of meer dimensies aanmaken, we kunnen array’s gebruiken om een stack of een queu te maken, ...

    In volgend voorbeeld maken we een array met twee dimensies aan:
    PHP-code:
    <?php
        $myArray
    [ ] = array( ‘1’‘2’ );
        
    $myArray[ ] = array( ‘3’‘vier’ =>‘4’ );
        
    //Dit geeft een 2x2 array, we kunnen dezelfde array ook zo aanmaken:
        
    $myArray = array( array( ‘1’‘2’ ), array( ‘3’‘vier’ =>‘4’ ) );
        
    //We kunnen de waarde zo uitlezen:
        
    $var $myArray][ ]; //$var bevat nu 1
        
    $var2 $myArray][ ‘vier’ ]; //$var2 bevat nu 4
    ?>
    Om een stack te maken kunnen we gebruik maken vande functies array_pop() en array_push():
    PHP-code:
    <?php
        $myArray
    [ ] = array( );
        
    array_push$myArray‘piet’ );
        
    array_push$myArray‘martijn’ );
        
    array_push$myArray‘jan’ );
        
    //Er zitten nu drie warden op deze ‘stack’, om de laatste waarde op te vragen gebruiken we array_pop():
        
    $last_item array_pop$myArray ); //$last_item bevat nu ‘jan’, deze waarde is nu ook verdwenen uit de array. De volgende waarde is nu ‘martijn’
    ?>
    Meer informatie over de beschikbare array functies kan je vinden op php.net.

    5.4 Foreach loop

    Met een Foreach loop kunnen we door alle items in een array loopen:
    PHP-code:
    <?php
        $myArray 
    = array( ‘a’ => ‘appel’,  ‘b’ => ‘peer’ );
        foreach ( 
    $myArray as $key => $value ){
            echo 
    ‘Item met key‘ $key ‘ heeft als waarde ‘ $value;
        }
    ?>
    Bovenstaand voorbeeld geeft als output:
    Item met key: a heeft als waarde appel
    Item met key: b heeft als waarde peer

    Geschreven door: Martijn Croonen.
    Kleine aanpassingen door: Aerts Kurt.