PHP array_walk() funktion
Eksempel
Anvend en brugerdefineret funktion på hvert element i arrayet:
<?php function myfunction($value,$key) { echo "Nøglen $key har værdien $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); ?>
Definition og brug
array_walk() funktionen anvender en brugerdefineret funktion på hvert element i arrayet. I funktionen er arrayets nøgle og værdi parametre.
Bemærk:Du kan ændre værdien af arrayets element ved at specificere den første parameter i brugerdefinerede funktion som en reference: &$value (se eksempel 2).
Tip:Hvis du skal operere med dybere arrayer (en array indeholder en anden array), brug array_walk_recursive() Funktion.
Syntaks
array_walk(array,myfunction,userdata...)
Parametre | Beskrivelse |
---|---|
array | Obligatorisk. Bestemmer arrayet. |
myfunction | Obligatorisk. Navnet på brugerdefinerede funktionen. |
userdata,... | Valgfri. Bestemmer brugerdefinerede funktionsparametre. Du kan sende så mange parametre som du vil til denne funktion. |
Beskrivelse
array_walk() funktionen anvender en tilbagekaldelsesfunktion på hver element i arrayet. Returnerer TRUE, hvis succesfuld, ellers FALSE.
I typiske tilfælde myfunction Modtager to parametre.array Værdien af parameteren som første, og nøgle navn som anden. Hvis der er givet valgfri parametre userdata Den vil blive overført som tredje parameter til tilbagekaldelsesfunktionen.
hvis myfunction funktioner kræver flere parametre end de givne, genereres der en array_walk() kald hver gang myfunction genererer en E_WARNING-niveau-fejl. Disse advarsler kan undertrykkes ved at tilføje PHP's fejloperator @ før array_walk() kaldet, eller ved at bruge error_reporting().
Bemærk:Hvis callback-funktionen skal påvirke værdierne direkte i arrayet, kan den første parameter for callback-funktionen specificeres som en reference: &$value. (Se eksempel 3).
Bemærk:Kombinerer nøglen og userdata overført til myfunction er blevet tilføjet i PHP 4.0.
Tekniske detaljer
Returværdi: | Returnerer TRUE, hvis succesfuld, ellers FALSE. |
PHP version: | 4+ |
Flere eksempler
Eksempel 1
Indstil en parameter:
<?php function myfunction($value,$key,$p) { echo "$key $p $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction","har værdien"); ?>
Eksempel 2
Ændre værdien af et arrayelement (bemærk &$value):
<?php function myfunction(&$value,$key) { $value="yellow"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); print_r($a); ?>