Objektiteration: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
 
(En mellanliggande sidversion av samma användare visas inte)
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.


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