Each()
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