I\'m checking out some PHP 5.3.0
features and ran across some code on the site that looks quite funny:
public function getTotal($tax)
{
$tot
A simpler answer.
function ($quantity) use ($tax, &$total) { .. };
$tax
inside the closure has no external effect, unless it is a pointer, like an object is.&$total
. This way, modifying the value of $total
DOES HAVE an external effect, the original variable's value changes.As @Mytskine pointed out probably the best in-depth explanation is the RFC for closures. (Upvote him for this.)