PHP 快速導覽 - 迭代器

物件 (object) 也可以當迭代器 (iterator) 使用,這是說可以用 foreach 迴圈 (loop) 逐一取得每一個屬性 (property) 。



舉一例如下
<?php
class Demo {
    public $a = 10;
    public $b = 11;
    public $c = 12;
    
    public function do_something() {
        foreach($this as $key => $value) {
            echo "$key => $value\n";
        }
    }
}

$d = new Demo();
$d->do_something();
echo "\n";

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

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:class18.php
    功能:示範 PHP 程式 
    作者:張凱慶
    時間:西元 2013 年 2 月 */
?>


基本上屬性就是 key-value 配對的陣列 (array) , do_something() 方法 (method) 使用 foreach 迴圈印出所有屬性值
public function do_something() {
    foreach($this as $key => $value) {
        echo "$key => $value\n";
    }
}


底下 foreach 迴圈的作用相同
foreach($d as $key => $value) {
    echo "$key => $value\n";
}


執行結果如下



中英文術語對照
物件object
迭代器iterator
迴圈loop
屬性property
陣列array
方法method


您可以繼續參考
類別與物件


相關目錄
回 PHP 快速導覽
回 PHP 教材
回首頁


參考資料
http://www.php.net/manual/en/language.oop5.iterations.php

沒有留言: