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
klave : 103 gånger (48.36%) krona : 110 gånger (51.64%)
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
|