File: static_variables_recursive.phpt

package info (click to toggle)
php8.4 8.4.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 208,108 kB
  • sloc: ansic: 1,060,628; php: 35,345; sh: 11,866; cpp: 7,201; pascal: 4,913; javascript: 3,091; asm: 2,810; yacc: 2,411; makefile: 689; xml: 446; python: 301; awk: 148
file content (29 lines) | stat: -rw-r--r-- 466 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
--TEST--
Static variable with recursive initializer
--FILE--
<?php

function foo($i) {
    static $a = $i <= 10 ? foo($i + 1) : "Done $i";
    var_dump($a);
    return $i;
}

foo(0);
foo(5);

?>
--EXPECT--
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"
string(7) "Done 11"