PHP函数用于打印调用函数的次数

时间:2018-04-18 08:36:40

标签: php

我正在尝试创建一个计算它被调用次数的函数

这是我的代码:

<?php

function print_calls() {
    count(print_calls);
}

print_calls();

?>

我希望它显示调用该函数的次数,如

print_calls(); // 1
print_calls(); // 2
print_calls(); // 3

3 个答案:

答案 0 :(得分:2)

这样的东西?

<?php

function callCount(){
static $calls=0;
echo $calls++;
}

callCount();

?>

答案 1 :(得分:0)

您可以使用静态变量:

function print_calls() {
  static $callCount=0;
  printf("%d\n", ++$callCount);
}

请注意,这只会保留当前进程的计数,因此如果您在Web服务器中使用此计数,则会为您访问的每个页面重置计数。如果需要持久计数,则必须将其写入文件或使用$_SESSION变量。

答案 2 :(得分:0)

全局变量可能很危险。小心翼翼。

您可以将变量定义为计数器和使用该外部变量的函数。

php > $counter = 0;
php > function ciao() { global $counter; $counter++; echo $counter; }

从现在开始,......每次调用该函数时,它都会打印变量递增的变量。发生这种情况是因为$counter的范围不是函数的本地范围,而是文件的全局范围。

php > ciao();
1
php > ciao();
2
php > ciao();
3
php > ciao();
4
php > ciao();
5