>  기사  >  백엔드 개발  >  PHP 반복자는 무엇을 의미합니까?

PHP 반복자는 무엇을 의미합니까?

藏色散人
藏色散人원래의
2021-10-15 10:37:051855검색

php iterator는 자체 외부 반복자 또는 클래스를 내부적으로 반복할 수 있는 인터페이스를 나타내는 PHP 디자인 패턴입니다. 반복자 패턴은 내부 구현을 알지 못한 채 집계 개체의 내부 요소를 순회할 수 있습니다.

PHP 반복자는 무엇을 의미합니까?

이 기사의 운영 환경: windows7 시스템, PHP7.1 버전, DELL G3 컴퓨터

php iterator 무슨 뜻인가요?

PHP 반복자 모드

Iterator: 클래스는 PHP의 Iterator 인터페이스를 상속하고 일괄 작업을 수행합니다.

1. 반복자 패턴은 내부 구현을 알지 못한 채 집계 개체의 내부 요소를 순회합니다.

2. 기존 프로그래밍 패턴과 비교할 때 반복자 패턴은 요소를 순회하는 데 필요한 작업을 숨길 수 있습니다.

Interface Iterator

current() 현재 요소를 반환

key() 현재 요소의 키를 반환

next() 다음 요소로 앞으로 이동

rewind() 반복자의 첫 번째 요소로 반환

class AllUser implements \Iterator
{
    protected $index = 0;
    protected $data = [];
    public function __construct()
    {
        $link = mysqli_connect('192.168.0.91', 'root', '123', 'xxx');
        $rec = mysqli_query($link, 'select id from doc_admin');
        $this->data = mysqli_fetch_all($rec, MYSQLI_ASSOC);
    }
    //1 重置迭代器
    public function rewind()
    {
        $this->index = 0;
    }
xxx
    //2 验证迭代器是否有数据
    public function valid()
    {
        return $this->index < count($this->data);
    }
    //3 获取当前内容
    public function current()
    {
        $id = $this->data[$this->index];
        return User::find($id);
    }
    //4 移动key到下一个
    public function next()
    {
        return $this->index++;
    }
    //5 迭代器位置key
    public function key()
    {
        return $this->index;
    }
}
//实现迭代遍历用户表
$users = new AllUser();
//可实时修改
foreach ($users as $user){
    $user->add_time = time();
    $user->save();
}

Iterator 인터페이스: https://www.php.net/manual/zh/class.iterator.php

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP 반복자는 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.