Each(): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
Ingen redigeringssammanfattning
 
Rad 97: Rad 97:
; [[foreach]]
; [[foreach]]
; [[Objektiteration]]
; [[Objektiteration]]
[[Kategori:Php]]
[[Kategori:Array]]

Nuvarande version från 11 augusti 2024 kl. 04.54

each

(PHP 4, PHP 5, PHP 7)

each — Returnerar det aktuella nyckel- och värdeparet från en array och flyttar arraypekaren framåt

Varning

Denna funktion har markerats som föråldrad från och med PHP 7.2.0 och borttagen från och med PHP 8.0.0. Att förlita sig på denna funktion är starkt avrått.

Beskrivning

each(array|object &$array): array

Returnerar det aktuella nyckel- och värdeparet från en array och flyttar arraypekaren framåt.

Efter att each() har utförts kommer arraypekaren att vara placerad på nästa element i arrayen, eller förbi det sista elementet om den når slutet av arrayen. Du måste använda reset() om du vill traversera arrayen igen med each.

Parametrar

array
Input-arrayen.

Returvärden

Returnerar det aktuella nyckel- och värdeparet från arrayen. Detta par returneras i en fyrelementarray, med nycklarna 0, 1, key och value. Elementen 0 och key innehåller nyckelnamnet för arrayelementet, och 1 och value innehåller datat.

Om arrayens interna pekare pekar förbi slutet av arrayinnehållet returnerar each() false.

Exempel

Exempel #1 each() exempel

<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>

$bar innehåller nu följande nyckel/värde-par:

Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>

$bar innehåller nu följande nyckel/värde-par:

Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)

each() används vanligtvis tillsammans med list() för att traversera en array, här är ett exempel:

Exempel #2 Traversera en array med each()

<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val\n";
}
?>

Ovanstående exempel kommer att skriva ut:

a => apple
b => banana
c => cranberry

Försiktighet Eftersom att tilldela en array till en annan variabel återställer den ursprungliga arrayens pekare, skulle vårt exempel ovan ha orsakat en oändlig loop om vi hade tilldelat $fruit till en annan variabel inne i loopen.

Varning each() kommer också att acceptera objekt, men kan returnera oväntade resultat. Det rekommenderas därför inte att iterera genom objektegenskaper med each().

Se även

key()
Hämta en nyckel från en array
list()
Tilldela variabler som om de vore en array
current()
Returnera det aktuella elementet i en array
reset()
Återställ den interna pekaren i en array till dess första element
next()
Flytta fram den interna pekaren i en array
prev()
Backa den interna arraypekaren
foreach
Objektiteration