Kategori:Array: Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '=array_walk= (PHP 4, PHP 5, PHP 7, PHP 8) array_walk — Tillämpa en användarspecifik funktion på varje medlem i en array =Beskrivning= array_walk(array|object &$array, callable $callback, mixed $arg = null): true Använder den användardefinierade callback-funktionen på varje element i arrayen. array_walk påverkas inte av arrayens interna pekare. array_walk kommer att gå igenom hela arrayen oavsett pekarens position. =Parametrar= array Ingångsarrayen. callba...') |
Admin (diskussion | bidrag) |
||
Rad 80: | Rad 80: | ||
=Se även= | =Se även= | ||
* array_walk_recursive() - Tillämpa en användarfunktion rekursivt på varje medlem i en array | * [[array_walk_recursive()]] - Tillämpa en användarfunktion rekursivt på varje medlem i en array | ||
* iterator_apply() - Anropa en funktion för varje element i en iterator | * [[iterator_apply()]] - Anropa en funktion för varje element i en iterator | ||
* list() - Tilldela variabler som om de var en array | * [[list()]] - Tilldela variabler som om de var en array | ||
* each() - Returnera det nuvarande nyckel- och värdeparet från en array och framskrid arraypekaren | * [[each()]] - Returnera det nuvarande nyckel- och värdeparet från en array och framskrid arraypekaren | ||
* call_user_func_array() - Anropa en callback med en array av parametrar | * [[call_user_func_array()]] - Anropa en callback med en array av parametrar | ||
* array_map() - Tillämpar callback på elementen i de givna arrayerna | * [[array_map()]] - Tillämpar callback på elementen i de givna arrayerna | ||
* foreach | * [[foreach]] |
Nuvarande version från 11 augusti 2024 kl. 06.31
array_walk
(PHP 4, PHP 5, PHP 7, PHP 8)
array_walk — Tillämpa en användarspecifik funktion på varje medlem i en array
Beskrivning
array_walk(array|object &$array, callable $callback, mixed $arg = null): true Använder den användardefinierade callback-funktionen på varje element i arrayen.
array_walk påverkas inte av arrayens interna pekare. array_walk kommer att gå igenom hela arrayen oavsett pekarens position.
Parametrar
array Ingångsarrayen.
callback Vanligtvis tar callback två parametrar. Arrayparameterns värde är den första och nyckeln/index är den andra.
Obs: Om callback behöver arbeta med de faktiska värdena i arrayen, ange den första parametern av callback som en referens. Ändringar som görs på dessa element kommer då att göras i den ursprungliga arrayen själv.
Obs: Många interna funktioner (till exempel strtolower()) kommer att generera en varning om fler än det förväntade antalet argument skickas in och de är inte direkt användbara som en callback.
Endast värdena i arrayen kan potentiellt ändras; dess struktur kan inte ändras, d.v.s., programmeraren kan inte lägga till, ta bort eller omordna element. Om callback inte respekterar detta krav är beteendet för denna funktion odefinierat och oförutsägbart.
arg Om den valfria arg-parametern tillhandahålls, kommer den att skickas som den tredje parametern till callback.
Returvärden
Returnerar alltid true.
Fel/Undantag
Från och med PHP 7.1.0 kommer ett ArgumentCountError att kastas om callback-funktionen kräver fler än 2 parametrar (värdet och nyckeln för arraymedlemmen), eller fler än 3 parametrar om arg också skickas. Tidigare skulle i detta fall ett fel av nivå E_WARNING genereras varje gång array_walk anropar callback.
Ändringslogg
Version Beskrivning 8.2.0 Returtypen är nu true; tidigare var det bool. 8.0.0 Om callback förväntar sig att den andra eller tredje parametern ska skickas som referens, kommer denna funktion nu att generera en E_WARNING.
Exempel
Exempel #1 Exempel på array_walk
<?php $frukter = array("d" => "citron", "a" => "apelsin", "b" => "banan", "c" => "äpple"); function test_alter(&$item1, $key, $prefix) { $item1 = "$prefix: $item1"; } function test_print($item2, $key) { echo "$key. $item2\n"; } echo "Före ...:\n"; array_walk($frukter, 'test_print'); array_walk($frukter, 'test_alter', 'frukt'); echo "... och efter:\n"; array_walk($frukter, 'test_print'); ?>
Exempel #2 Exempel på array_walk med anonym funktion
<?php $element = ['a', 'b', 'c']; array_walk($element, function ($value, $key) { echo "{$key} => {$value}\n"; }); ?>
Se även
- array_walk_recursive() - Tillämpa en användarfunktion rekursivt på varje medlem i en array
- iterator_apply() - Anropa en funktion för varje element i en iterator
- list() - Tilldela variabler som om de var en array
- each() - Returnera det nuvarande nyckel- och värdeparet från en array och framskrid arraypekaren
- call_user_func_array() - Anropa en callback med en array av parametrar
- array_map() - Tillämpar callback på elementen i de givna arrayerna
- foreach
Sidor i kategorin "Array"
Följande 26 sidor (av totalt 26) finns i denna kategori.