လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP ITERATER Interface ၏အသေးစိတ်ရှင်းပြချက် - အရာဝတ်ထုဂုဏ်သတ္တိများ၏ဖြတ်သန်းမှုနှင့်စိတ်ကြိုက်အကောင်အထည်ဖော်မှု

PHP ITERATER Interface ၏အသေးစိတ်ရှင်းပြချက် - အရာဝတ်ထုဂုဏ်သတ္တိများ၏ဖြတ်သန်းမှုနှင့်စိတ်ကြိုက်အကောင်အထည်ဖော်မှု

gitbox 2025-07-26

php အတွက်ကြားဖြတ် interface ၏အခန်းကဏ်။

PHP တွင် ITERator သည်အရာဝတ်ထုများကို array ကဲ့သို့ဖြတ်သန်းရန်ခွင့်ပြုသည့်အဓိကမျက်နှာပြင်တစ်ခုဖြစ်သည်။ ITERATER Interface ၏နည်းလမ်းငါးခုကိုအကောင်အထည်ဖော်ခြင်းအားဖြင့်အတန်း၏ဖြစ်ရပ်များသည် fonteach ထုတ်ပြန်ချက်များကို အသုံးပြု. ဆက်သွယ်နိုင်သည်။

ITERATER Interface သည်အောက်ပါနည်းလမ်းငါးခုကိုသတ်မှတ်သည်။

  • Rewind () : iTerator Pointer ကိုပြန်လည်သတ်မှတ်ပါ
  • လက်ရှိ () : လက်ရှိ element ကိုပြန်ပို့သည်
  • Key () - လက်ရှိ element ၏သော့ကိုပြန်ပို့သည်
  • နောက်တစ်ခု - Pointer ကိုနောက်ဒြပ်စင်သို့ရွှေ့ပါ
  • သက်တမ်းရှိ () - လက်ရှိအနေအထားသည်ရှိမရှိဆုံးဖြတ်သည်

ဤ interface ကိုအကောင်အထည်ဖော်ရန်အတွက် built-in အတန်းအစားမျိုးစုံ (ဥပမာ Arrayraterlinkedlinterlist လုပ်သူများ ) ဤ interface ကိုအကောင်အထည်ဖော်ရန်ဤ interface ကို အကောင်အထည်ဖော်ရန် အတွက်၎င်းကို foreach loop တွင်တိုက်ရိုက်အသုံးပြုနိုင်သည်။

foreach မှတစ်ဆင့်ခင်းကျင်းမှတဆင့်ကြားဖြတ်

PHP တွင် Array သည်သဘာဝအားဖြင့် Traversal အတွက် fonteach ထုတ်ပြန်ချက်များကိုသဘာဝကျကျထောက်ပံ့သည်။ ဤတွင်ရိုးရှင်းသောဥပမာတစ်ခုဖြစ်သည်။

 
$arr = array('a', 'b', 'c');
foreach ($arr as $key => $value) {
    echo "$key: $value\n";
}

Array ကိုဤနည်းဖြင့်ဖြတ်သန်းခြင်းအားဖြင့်ကုဒ်သည်တိကျသော code ကိုအတိုချုပ်မျှသာမဟုတ်ဘဲကိုယ်တိုင်ခင်းကျင်းသောစာရင်းတွင်စာဖြင့်ပြုလုပ်သောပြ problem နာကိုလည်းရှောင်ရှားသည်။

စိတ်ကြိုက်အတန်းအစား iterator interface ကိုအကောင်အထည်ဖော်

array များအပြင် developer များသည်လည်းအတန်းများကိုစိတ်ကြိုက်ပြုပြင်ပြီး ITERATER Interface ကိုအကောင်အထည်ဖော်နိုင်သည် ဤတွင် Custom Iterator အတန်းအစား၏ဥပမာတစ်ခုဖြစ်သည်။

 
class MyIterator implements Iterator {
    private $position = 0;
    private $array = array(
        "firstelement",
        "secondelement",
        "lastelement",
    );

    public function __construct() {
        $this->position = 0;
    }

    public function rewind() {
        $this->position = 0;
    }

    public function current() {
        return $this->array[$this->position];
    }

    public function key() {
        return $this->position;
    }

    public function next() {
        ++$this->position;
    }

    public function valid() {
        return isset($this->array[$this->position]);
    }
}

$it = new MyIterator;
foreach ($it as $key => $value) {
    echo "$key: $value\n";
}

ဤကုဒ်တွင် Myiterator Class သည်၎င်း၏ဥပမာအားဖြင့်အရာဝတ်ထုများကို array ကဲ့သို့သော travers ကိုဖွင့်ရန် ITERATER Interface ၏နည်းလမ်းငါးခုကိုအကောင်အထည်ဖော်သည်။ ဤနည်းလမ်းသည်ဒေတာအဆောက်အအုံများသို့မဟုတ်စိတ်ကြိုက် 0 င်ရောက်နိုင်သည့်ယုတ္တိဗေဒလိုအပ်သည့်အခြေအနေများအတွက်သင့်တော်သည်။

အကျဉ်းချုပ်

ITERATER Interface သည် PHP တွင်ဒေတာဖြတ်သန်းမှုအတွက်စည်းလုံးညီညွတ်သောစံသတ်မှတ်ချက်ကိုပေးသည်။ ၎င်းသည် interface ကိုအကောင်အထည်ဖော်နေသမျှကာလပတ်လုံး၎င်းသည်ခင်းကျင်း သော incray တစ်ခု, communist object တစ်ခုဖြစ်စေ, စိတ်ကြိုက်ကြားနာသူများအားဖြင့် developer များသည် data access method များကိုပြောင်းလွယ်ပြင်လွယ်ထိန်းချုပ်နိုင်ပြီး၎င်းတို့၏ကုဒ်၏ထိန်းသိမ်းမှုနှင့်ပမာဏကိုတိုးတက်စေနိုင်သည်။