看不懂文档这个循环为什么会输出那样的结果,有人帮忙解释一下吗?

学PHP那么久,依然还是个新手,很多方法都理解不了。惭愧。悲哀。。。。

https://www.php.net/manual/zh/language.oop...

<?php
class MyIterator implements Iterator
{
    private $var = array();

    public function __construct($array)
    {
        if (is_array($array)) {
            $this->var = $array;
        }
    }

    public function rewind() {
        echo "rewinding.";
        reset($this->var);
    }

    public function current() {
        $var = current($this->var);
        echo "current: $var.";
        return $var;
    }

    public function key() {
        $var = key($this->var);
        echo "key: $var.";
        return $var;
    }

    public function next() {
        $var = next($this->var);
        echo "next: $var.";
        return $var;
    }

    public function valid() {
        $var = $this->current() !== false;
        echo "valid: {$var}.";
        return $var;
    }
}

$values = array(1,2,3);
$it = new MyIterator($values);

foreach ($it as $a => $b) {
    print "$a: $b.";
}
?>`

以上例程会输出:

rewinding
current: 1
valid: 1
current: 1
key: 0
0: 1
next: 2
current: 2
valid: 1
current: 2
key: 1
1: 2
next: 3
current: 3
valid: 1
current: 3
key: 2
2: 3
next:
current:
valid:

讨论数量: 5
Summer

请在问答分类下提问,做一下那个提问的技巧的测验吧,程序员应该知道这些东西

4年前 评论
bing_ (楼主) 4年前
Summer (作者) 4年前
Summer (作者) 4年前
bing_ (楼主) 4年前
Summer (作者) 4年前
bing_ (楼主) 4年前

说实话,别人看不出来你想要什么结果

你要把你想要的结果列出来,不要的结果列出来

4年前 评论
小李世界 (作者) 4年前
bing_ (楼主) 4年前
小李世界 (作者) 4年前
bing_ (楼主) 4年前

一般人在大学几乎没学什么东西,都是在工作之后有需求才努力起来,他们在大学的时候有先了解过一些概念了,所以后面工作之后会比中途学习编程语言的人快些,所以你不要着急,一步一脚印。

我们可能学得比较久,但是碰到新问题,我们也没办法给老板一个确切的完成时间,只能大概,然后根据老板的要求,看是要跟平台对接,还是自己写代码就好,根据已有的知识去谷歌搜索,不懂问问群友,没人回就继续搜索,一般都会找到答案。

我亲戚也是中途要学习编程,我跟他说,你哪个字、词汇看不懂,都可以问我,但是他学了一个礼拜不学了,他说他根本知道问什么,从哪里问,所以提问的技巧也是要有的。

站长说的没错,一步一步来,我一开始提问也是要做测试,但是我知道那个是一个规范,就很乐意去做,而且他不是很难,不是 BiliBili 那种 100 道题的那样。编程的话,要多练习,自己写点自己喜欢的东西,虽然看上去很 low,但是那代表你的锐变,只有自己看了,写了,修改了,改版了,碰到问题修复问题才能成长。我技术差,别的大佬可能不屑跟我一起写代码,可能不同意我入群,可能觉得我话唠,但我就是一个热爱说出自己想法的人。

我之前写文档没写好,站长也热心跟我反馈,我也是有点紧张,但是站长很客气跟我回复,鼓励我。站长是站在你这边的,他很乐意看到大家在论坛里面成长,互相帮忙贡献。

4年前 评论
Summer 4年前

@likunyan 明白了,谢谢你!也谢谢站长!

4年前 评论

我也有过和你一样的感受,自己什么都不会。不过还是需要自己静下心去多找一步。其实现代编程我们能遇到的 80% 以上的问题都有人替咱们趟过了,网上也都会有答案。学习就是这样,慢慢来!加油!https://blog.csdn.net/luyaran/article/deta... 你要是还没理解可以看一下这个。

4年前 评论
bing_ (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!