调用函数时自动递增值

Nor*_*man 1 php

如何在调用函数时自动递增值?这就是我想要做的事情,我只需要这样做.除了调用函数时,不能以任何其他方式递增它.

function makeyogurt($type = 1) {
    echo "Quantity $type.\n";
    makeyogurt($type++);
}

makeyogurt();
Run Code Online (Sandbox Code Playgroud)

hek*_*mgl 8

您展示的代码必然会导致无限循环.我想你正在搜索static关键字:

function fun() {
    static $counter = 0;
    $counter++;

    echo "$counter";
}
Run Code Online (Sandbox Code Playgroud)

如果static在函数/方法定义中使用,则仅在第一次调用函数/方法时才创建变量.它的值将在调用后保存,变量将在下一次调用中初始化为该值.

现在您可以像这样调用函数:

fun();
fun();
fun();
Run Code Online (Sandbox Code Playgroud)

输出将是:

1
2
3
Run Code Online (Sandbox Code Playgroud)

请查看本手册页