- var_dump: documentation ( source)
- str_repeat: documentation ( source)
- memory_get_usage: documentation ( source)
- get_object_vars: documentation ( source)
<?php
class Example {
public $foo = "bar";
}
$e = new Example();
var_dump(memory_get_usage(true));
// increase memory
$e->foo = str_repeat($e->foo, 10000000);
var_dump(memory_get_usage(true));
// no significant increase in memory because of copy-on-write
$x = get_object_vars($e);
var_dump(memory_get_usage(true));
// write happens, so a copy is made, so memory increases
$x["foo"] = $x["foo"] . "";
var_dump(memory_get_usage(true));