Objektiteration: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== Objektiteration == PHP tillhandahåller ett sätt för objekt att definieras så att det är möjligt att iterera genom en lista med objekt, till exempel med en foreach-sats. Som standard kommer alla synliga egenskaper att användas för iterationen. === Exempel #1 Enkel Objektiteration === <pre> <?php class MyClass { public $var1 = 'värde 1'; public $var2 = 'värde 2'; public $var3 = 'värde 3'; protected $protected = 'skyddad var'; private...')
 
Ingen redigeringssammanfattning
Rad 56: Rad 56:
; IteratorAggregate
; IteratorAggregate
; SPL Iterators
; SPL Iterators
[[Kategori:Php]]

Versionen från 11 augusti 2024 kl. 04.56

Objektiteration

PHP tillhandahåller ett sätt för objekt att definieras så att det är möjligt att iterera genom en lista med objekt, till exempel med en foreach-sats. Som standard kommer alla synliga egenskaper att användas för iterationen.

Exempel #1 Enkel Objektiteration

<?php
class MyClass
{
    public $var1 = 'värde 1';
    public $var2 = 'värde 2';
    public $var3 = 'värde 3';

    protected $protected = 'skyddad var';
    private   $private   = 'privat var';

    function iterateVisible() {
       echo "MyClass::iterateVisible:\n";
       foreach ($this as $key => $value) {
           print "$key => $value\n";
       }
    }
}

$class = new MyClass();

foreach($class as $key => $value) {
    print "$key => $value\n";
}
echo "\n";


$class->iterateVisible();

?>

Ovanstående exempel kommer att skriva ut:

var1 => värde 1
var2 => värde 2
var3 => värde 3

MyClass::iterateVisible:
var1 => värde 1
var2 => värde 2
var3 => värde 3
protected => skyddad var
private => privat var

Som utskriften visar, itererade foreach genom alla synliga egenskaper som kunde nås.

Se även

Generatorer
Iterator
IteratorAggregate
SPL Iterators