Objektiteration: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
 
Rad 52: Rad 52:


== Se även ==
== Se även ==
; Generatorer
; [[Generatorer]]
; Iterator
; [[Iterator]]
; IteratorAggregate
; [[IteratorAggregate]]
; SPL Iterators
; [[SPL Iterators]]
[[Kategori:Php]]
[[Kategori:Php]]

Nuvarande version från 11 augusti 2024 kl. 04.57

Fet text== 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