PHP array_walk() functie
Voorbeeld
Past de gebruikersdefinieerde functie toe op elk element van de array:
<?php function myfunction($value,$key) { echo "The key $key has the value $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); ?>
Definitie en gebruik
De functie array_walk() past de gebruikersdefinieerde functie toe op elk element van de array. In de functie zijn de sleutelnaam en de sleutelwaarde parameters.
Opmerking:U kunt de waarde van het eerste parameter van de gebruikersdefinieerde functie opgeven als een referentie: &$value, om de waarde van het element van de array te wijzigen (zie voorbeeld 2).
Tip:Als u diepere arrays wilt bewerken (een array bevat een andere array), gebruik dan array_walk_recursive() Functie.
Syntax
array_walk(array,myfunction,userdata...)
Parameters | Beschrijving |
---|---|
array | Verplicht. Stelt de array vast. |
myfunction | Verplicht. De naam van de gebruikersdefinieerde functie. |
userdata,... | Optioneel. Stelt de parameters van de gebruikersdefinieerde functie vast. U kunt aan deze functie willekeurig veel parameters doorgeven. |
Beschrijving
De functie array_walk() past de callback-functie toe op elk element van de array. Als het succesvol is, wordt TRUE geretourneerd, anders FALSE.
In typische gevallen myfunction Accepteert twee parameters.array De waarde van het parameter als eerste, de naam van het sleutel als tweede. Als er optionele parameters zijn verstrekt userdata Zal als derde parameter worden doorgegeven aan de callback-functie.
als myfunction die nodig zijn, wordt er tijdens elke aanroep van array_walk() myfunction zal altijd een E_WARNING-niveau fout veroorzaken. Deze waarschuwingen kunnen worden onderdrukt door de PHP-foutoperator @ voor de array_walk() aanroep toe te voegen, of door error_reporting() te gebruiken.
Opmerking:Als de callback-functie direct moet werken op de waarden in het array, kan de eerste parameter van de callback-functie worden opgegeven als een referentie: &$value. (Zie voorbeeld 3)
Opmerking:Koppel de sleutelnaam en userdata doorgestuurd naar myfunction is nieuw toegevoegd in PHP 4.0.
Technische details
Retournerende waarde: | Retourneert TRUE als succesvol, anders FALSE. |
PHP Versie: | 4+ |
Meer voorbeelden
Voorbeeld 1
Stel een parameter in:
<?php function myfunction($value,$key,$p) { echo "$key $p $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction","heeft de waarde"); ?>
Voorbeeld 2
Wijzig de waarde van een array element (let op: &$value):
<?php function myfunction(&$value,$key) { $value="yellow"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); print_r($a); ?>