Array walk(): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '=array_walk= (PHP 4, PHP 5, PHP 7, PHP 8) array_walk — Tillämpa en användardefinierad funktion på varje medlem i en array =Beskrivning= array_walk(array|object &$array, callable $callback, mixed $arg = null): true Tillämpar den användardefinierade callback-funktionen på varje element i arrayen. array_walk påverkas inte av arrayens interna pekare. array_walk går igenom hela arrayen oberoende av pekarens position. =Parametrar= array Indata-arrayen. callback...')
 
Ingen redigeringssammanfattning
Rad 2: Rad 2:
(PHP 4, PHP 5, PHP 7, PHP 8)
(PHP 4, PHP 5, PHP 7, PHP 8)


array_walk — Tillämpa en användardefinierad funktion på varje medlem i en array
array_walk — Tillämpa en användarspecifik funktion på varje medlem i en array


=Beskrivning=
=Beskrivning=
array_walk(array|object &$array, callable $callback, mixed $arg = null): true
array_walk(array|object &$array, callable $callback, mixed $arg = null): true
Tillämpar den användardefinierade callback-funktionen på varje element i arrayen.
Använder den användardefinierade callback-funktionen på varje element i arrayen.


array_walk påverkas inte av arrayens interna pekare. array_walk går igenom hela arrayen oberoende av pekarens position.
array_walk påverkas inte av arrayens interna pekare. array_walk kommer att gå igenom hela arrayen oavsett pekarens position.


=Parametrar=
=Parametrar=
array
array
Indata-arrayen.
Ingångsarrayen.


callback
callback
Typiskt sett tar callback två parametrar. Värdet på arrayparametern som den första, och nyckeln/index som den andra.
Vanligtvis tar callback två parametrar. Arrayparameterns värde är den första och nyckeln/index är den andra.


Notera:
Obs:
Om callback behöver arbeta med arrayens verkliga värden, specificera den första parametern av callback som en referens. Då kommer alla ändringar som görs på dessa element att ske i den ursprungliga arrayen själv.
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.


Notera:
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.
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 funktionens beteende odefinierat och oförutsägbart.
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
arg
Om det valfria arg-parametern tillhandahålls, kommer den att skickas som den tredje parametern till callback.
Om den valfria arg-parametern tillhandahålls, kommer den att skickas som den tredje parametern till callback.


=Returvärden=
=Returvärden=
Rad 32: Rad 32:


=Fel/Undantag=
=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 till 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.
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=
=Ändringslogg=
Version Beskrivning
Version Beskrivning
8.2.0 Returtypen är nu true; tidigare var det bool.
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 med referens, kommer denna funktion nu att avge en E_WARNING.
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=
Exempel #1 array_walk-exempel
Exempel #1 Exempel på array_walk


<pre>
<pre>
Rad 66: Rad 66:
</pre>
</pre>


=Exempel #2 array_walk-exempel med anonym funktion=
Exempel #2 Exempel på array_walk med anonym funktion


<pre>
<pre>
Rad 78: Rad 78:
?>
?>
</pre>
</pre>
=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
[[Kategori:Array]]
[[Kategori:Array]]
[[Kategori:Php]]
[[Kategori:Php]]

Versionen från 11 augusti 2024 kl. 06.26

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