图 1. memory_get_usage() 的示例输出

没有 memory_get_peak_usage() 的示例,因为两者十分相似,语法是相同的。但是,对于清单 1 中的示例代码,将只有一个结果,即当时的最高内存使用量。让我们看一看清单 2。
清单 2. memory_get_peak_usage() 示例
<?php // This is only an example, the numbers below will // differ depending on your system echo memory_get_peak_usage() . "\n"; // 36640 $a = str_repeat("Hello", 4242); echo memory_get_peak_usage() . "\n"; // 57960 unset($a); echo memory_get_peak_usage() . "\n"; // 36744 ?>
清单 2 中的代码跟图 1 一样,但是 memory_get_usage() 已经替换为 memory_get_peak_usage()。在我们用 4242 个 “Hello” 副本填充 $a 之前,输出都不会有多大更改。内存跳升至 57960,表示到目前为止的峰值。当检查内存使用量峰值时,得到了目前为止的最高值,因此所有进一步调用都将得到 57960,直至我们处理的操作比处理 $a 使用的内存更多(参见图 2)。
图 2. memory_get_peak_usage() 的示例输出
