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.2 Manipulationer

array_count_values

Räknar förekomsten av olika värden i arrayen. OBS! räknar inte antalet totalt, utan de olika frekvenserna. Resultatet blir en array. Se exemplet nedan:

<?php
    srand
( time() );

        
# kastar krona eller klave 213 gånger
    
for($i = 0; $i < 213; $i++)
    {
        
$kast[] = rand(0,1) == 0 ? "krona" : "klave";
    }

    
# kollar hur många krona och klave det finns
    
$antalen = array_count_values( $kast );
    foreach(
$antalen as $vilken=>$antal )
    {
        
# visa värdet,antalet och som procent
        
echo "$vilken : $antal gånger (";
        echo  
number_format( $antal / count( $kast ) * 100 , 2) ;
        echo
"%)<br>";
    }

?>
Listning 1.12.2.1 - samples/s91.php

krona : 96 gånger (45.07%)
klave : 117 gånger (54.93%)
Resultat av listning 1.12.2.1

array_flip

Kastar om index och värden i en array

<?php
    $anställda
["guru"]         = "kalle";
        
$anställda["nybörjare"]        = "ville";
        
$anställda["programmerare"]    = "ida";

    echo
"<pre>";
    
# inbyggd funktion för att visa en array
    # mest tänkt för avlusning
    
print_r($anställda);

    
# flippar
    
$anställda = array_flip($anställda);
    
print_r($anställda);
    echo
"</pre>";
?>
Listning 1.12.2.2 - samples/s92.php

Array
(
    [guru] => kalle
    [nybörjare] => ville
    [programmerare] => ida
)
Array
(
    [kalle] => guru
    [ville] => nybörjare
    [ida] => programmerare
)
Resultat av listning 1.12.2.2

array_keys och array_values

<?php
    $anställda
["guru"]             = "kalle";
    
$anställda["nybörjare"]            = "ville";
    
$anställda["programmerare"]        = "ida";
    
$anställda["boss"]            = "ida";

    
# array_keys tar bara indexet
    
$indexen = array_keys( $anställda );
    foreach(
$indexen as $vem )
    {
        echo
$vem . " ";
    }

    echo
"<br>";

    
# om man anger ett värde till som parameter
    # till array_keys kommer endast de rader som har
    # ett sådantvärde att visas
    
$indexen = array_keys( $anställda, "ida" );
    foreach(
$indexen as $vem )
    {
        echo
$vem . " ";
    }

    echo
"<br>";    
    
# array_values gör tvärtom
    
$värdena = array_values( $anställda );
    foreach(
$värdena as $vad )
    {
        echo
$vad . " ";
    }

?>
Listning 1.12.2.3 - samples/s93.php

guru nybörjare programmerare boss
programmerare boss
kalle ville ida ida
Resultat av listning 1.12.2.3

array_merge

<?php
    $finaFärger
= array ("röd", "grön", "gul");
    
$fulaFärger = array ("brun", "lila");
    
$mellanFärger = array("grå", "vit", "svart");

    
# skall ha två eller flera arrays som parameter
    
$allaFärger = array_merge( $finaFärger, $fulaFärger,$mellanFärger );
    foreach(
$allaFärger as $färg )
    {
        echo
"$färg ";
    }
?>
Listning 1.12.2.4 - samples/s94.php

röd grön gul brun lila grå vit svart
Resultat av listning 1.12.2.4

   Börja härArraysManipulationer