Objektiteration: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
Ingen redigeringssammanfattning
Rad 1: Rad 1:
== Objektiteration ==
'''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.
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.



Versionen 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