The actual effect of PHP’s unset() function
Strongly recommend everyone to share this kind of technical article if you have nothing to do
The cost and release of memory by PHP variables, and whether unset() really releases the memory. Reposted from:
The actual effect of PHP’s unset() function
The test code is as follows:
Copy PHP content to clipboard
PHP code:
<font face="NSimsun"><span style="color: #007700">for ( <code id="code0" style="font-size: 12px"><font face="NSimsun"><span style="color: #007700">for ( </span><span style="color: #0000bb">$i </span><span style="color: #007700">= </span><span style="color: #0000bb">1</span><span style="color: #007700">; </span><span style="color: #0000bb">$i </span><span style="color: #007700">< </span><span style="color: #0000bb">100</span><span style="color: #007700">; </span><span style="color: #0000bb">$i</span></font><font face="NSimsun"><span style="color: #007700">++ ) {<br>
</span><span style="color: #0000bb">$str </span><span style="color: #007700">= </span><span style="color: #0000bb">str_repeat</span><span style="color: #007700">(</span><span style="color: #dd0000">'01234567'</span><span style="color: #007700">, </span><span style="color: #0000bb">$i</span></font><font face="NSimsun"><span style="color: #007700">);<br>
</span><span style="color: #0000bb">$a </span><span style="color: #007700">= </span><span style="color: #0000bb">memory_get_usage</span></font><font face="NSimsun"><span style="color: #007700">();<br>
unset(</span><span style="color: #0000bb">$str</span></font><font face="NSimsun"><span style="color: #007700">);<br>
</span><span style="color: #0000bb">$b </span><span style="color: #007700">= </span><span style="color: #0000bb">memory_get_usage</span></font><font face="NSimsun"><span style="color: #007700">();<br>
echo </span><span style="color: #dd0000">"n<br>" ></span><span style="color: #007700">.</span><span style="color: #0000bb">$i</span><span style="color: #007700">.</span><span style="color: #dd0000">': '</span><span style="color: #007700">.(</span><span style="color: #0000bb">$b </span><span style="color: #007700">- </span><span style="color: #0000bb">$a</span><span style="color: #007700">).</span><span style="color: #dd0000">' Bytes.'</span></font><font face="NSimsun"><span style="color: #007700">;<br>
}</span></font>
$i
=
1
;
$i
<
100
;
$i
++ ) {
$str
=
str_repeat
(
'01234567'
,
$i
);
$a
=
memory_get_usage
();
unset(
$str
);
$b
=
memory_get_usage
();
echo
"n
"
.
$i
.
': '
.(
$b
-
$ a
).
' Bytes.'
;
}
It can be seen from the results: 8 x 32 = 256 It is really necessary to release the memory when it is 256 bytes long. Some people say that it is faster than directly $str = null.
Here are the actual results:
The results are as follows:
1: 0 Bytes.
2: 0 Bytes.
3: 0 Bytes.
4: 0 Bytes.
5: 0 Bytes.
6: 0 Bytes.
7: 0 Bytes.
8: 0 Bytes.
9: 0 Bytes.
10: 0 Bytes.
11: 0 Bytes.
12: 0 Bytes.
13: 0 Bytes.
14: 0 Bytes.
15: 0 Bytes.
16: 0 Bytes.
17: 0 Bytes.
18: 0 Bytes.
19: 0 Bytes.
20: 0 Bytes.
21: 0 Bytes.
22: 0 Bytes.
23: 0 Bytes.
24: 0 Bytes.
25: 0 Bytes.
26: 0 Bytes.
27: 0 Bytes.
28: 0 Bytes.
29: 0 Bytes.
30: 0 Bytes.
31: 0 Bytes.
32: -272 Bytes.
33: -280 Bytes.
34: -288 Bytes.
35: -296 Bytes.
36: -304 Bytes.
37: -312 Bytes.
38: -320 Bytes.
39: -328 Bytes.
40: -336 Bytes.
41: -344 Bytes.
42: -352 Bytes.
43: -360 Bytes.
44: -368 Bytes.
45: -376 Bytes.
46: -384 Bytes.
47: -392 Bytes.
48: -400 Bytes.
49: -408 Bytes.
50: -416 Bytes.
51: -424 Bytes.
52: -432 Bytes.
53: -440 Bytes.
54: -448 Bytes.
55: -456 Bytes.
56: -464 Bytes.
57: -472 Bytes.
58: -480 Bytes.
59: -488 Bytes.
60: -496 Bytes.
61: -504 Bytes.
62: -512 Bytes.
63: -520 Bytes.
64: -528 Bytes.
65: -536 Bytes.
66: -544 Bytes.
67: -552 Bytes.
68: -560 Bytes.
69: -568 Bytes.
70: -576 Bytes.
71: -584 Bytes.
72: -592 Bytes.
73: -600 Bytes.
74: -608 Bytes.
75: -616 Bytes.
76: -624 Bytes.
77: -632 Bytes.
78: -640 Bytes.
79: -648 Bytes.
80: -656 Bytes.
81: -664 Bytes.
82: -672 Bytes.
83: -680 Bytes.
84: -688 Bytes.
85: -696 Bytes.
86: -704 Bytes.
87: -712 Bytes.
88: -720 Bytes.
89: -728 Bytes.90: -736 Bytes.
91: -744 Bytes.
92: -752 Bytes.
93: -760 Bytes.
94: -768 Bytes.
95: -776 Bytes.
96: -784 Bytes.
97: -792 Bytes.
98: -800 Bytes.
99: -808 Bytes.
http://www.bkjia.com/PHPjc/445562.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/445562.htmlTechArticleThe actual effect of PHP’s unset() function is strongly recommended to everyone to share this kind of technical article when there is nothing to do with PHP variables on memory Overhead and release, whether unset() really releases memory. Reprinted from: PHP's unse...