File: apc_006_php81.phpt

package info (click to toggle)
php-apcu 5.1.24-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 840 kB
  • sloc: ansic: 4,414; php: 907; xml: 766; makefile: 2
file content (83 lines) | stat: -rw-r--r-- 1,283 bytes parent folder | download | duplicates (2)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
--TEST--
APC: apcu_store/fetch reference test
--SKIPIF--
<?php
require_once(dirname(__FILE__) . '/skipif.inc');
if (PHP_VERSION_ID < 80100) die('skip Only for PHP >= 8.1');
?>
--INI--
apc.enabled=1
apc.enable_cli=1
apc.serializer=php
report_memleaks=0
--FILE--
<?php

$a = 'a';
$b = array($a);
$c = array('c');
$b[] = &$c;
$b[] = &$c;
$d = 'd';
$b[] = &$d;
$b[] = &$d;
$b[] = &$d;
$e = 'e';
$b[] = $e;
$b[] = $e;
$f = array('f');
$f[] = &$f;
$b[] = &$f;
apcu_store('test', $b);
$x = apcu_fetch('test');
debug_zval_dump($x);

?>
===DONE===
--EXPECTF--
array(9) refcount(2){
  [0]=>
  string(1) "a" interned
  [1]=>
  reference refcount(2) {
    array(1) refcount(1){
      [0]=>
      string(1) "c" interned
    }
  }
  [2]=>
  reference refcount(2) {
    array(1) refcount(1){
      [0]=>
      string(1) "c" interned
    }
  }
  [3]=>
  reference refcount(3) {
    string(1) "d" interned
  }
  [4]=>
  reference refcount(3) {
    string(1) "d" interned
  }
  [5]=>
  reference refcount(3) {
    string(1) "d" interned
  }
  [6]=>
  string(1) "e" interned
  [7]=>
  string(1) "e" interned
  [8]=>
  reference refcount(2) {
    array(2) refcount(1){
      [0]=>
      string(1) "f" interned
      [1]=>
      reference refcount(2) {
        *RECURSION*
      }
    }
  }
}
===DONE===