PHP Manualen
forrige |  | næste

# array_walk

(PHP 3 >= 3.0.3, PHP 4, PHP 5)

array_walk -- Udfører en bruger funktion på alle elementer i et array

## Beskrivelse

bool array_walk ( array &array, callback funcname [, mixed userdata] )

Returnerer `TRUE` ved succes, `FALSE` ved fejl.

Udfører den bruger-definerede funktion, funcname til hver element i array arrayet. Typisk vil funcname tage to parameter. Parameteren array's værdi er den første og nøglen den anden. Hvis den valgfri parameter userdata er sat, vil den blive smidt ind i callback funktionen funcname som tredje parameter.

Hvis funktionen funcname kræver flere parameter end der bliver givet til den, vil den fejl i E_WARNING niveau blive genereret hver gang array_walk() kalder funcname. Disse fejl kan blive gemt ved at bruge PHP error operator @ før array_walk() funktionen eller ved at bruge error_reporting().

> Bemærk: Hvis funcname skal arbejde med den rigtige værdi i arrayet, skal du specifere den første parameter af funcname som en reference. Så vil ændringerne ske direkte til de elementer.

> Bemærk: Tilføjning af nøglen og userdata til funcname blev muligt fra 4.0.0.

array_walk() tager ikke hensyn til den interne array pointer i array. array_walk() vil gå igennem hele arrayet, lige meget hvor array pointeren står. For at resette pointeren, brug reset(). I PHP 3 resatte, array_walk() pointeren.

Brugere bør ikke ændre arrayet fra callback funktionen. F.eks. tilføje/slette elementer, nulstille elementer osv. Hvis arrayet som array_walk() er tilknyttet til er ændret vil handlingerne af denne funktion være ubeskrevet og ikke til at vide.

Eksempel 1. array_walk() eksempel

`<?php $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple"); function test_alter(&$item1, $key, $prefix) { $item1 = "$prefix: $item1"; } function test_print($item2, $key) { echo "$key. $item2<br />\n"; } echo "Before ...:\n"; array_walk($fruits, 'test_print'); array_walk($fruits, 'test_alter', 'fruit'); echo "... and after:\n"; array_walk($fruits, 'test_print'); ?>`

Ovenstående eksempel vil udskrive:

`Before ...: d. lemon a. orange b. banana c. apple ... and after: d. fruit: lemon a. fruit: orange b. fruit: banana c. fruit: apple`

Se også array_walk_recursive(), create_function(), list(), foreach, each(), call_user_func_array(), array_map() og information omkring callback typen.

forrige | hjem | næste
array_walk_recursive | op | array