<?php
echo "--- array --- " . PHP_EOL;
$a = function ($val) use ($ary) {
$ary[] = $val;
return $ary;
};
echo "--- array(ref) ---" . PHP_EOL;
$a = function ($val) use (&$ary) {
$ary[] = $val;
return $ary;
};
echo "--- ArrayObject ---" . PHP_EOL;
$ary = new ArrayObject();
$a = function ($val) use ($ary) {
$ary[] = $val;
return $ary;
};
PD9waHAKZWNobyAiLS0tIGFycmF5IC0tLSAiIC4gUEhQX0VPTDsKJGFyeSA9IGFycmF5KCk7CgokYSA9IGZ1bmN0aW9uICgkdmFsKSB1c2UgKCRhcnkpIHsKCSRhcnlbXSA9ICR2YWw7CglyZXR1cm4gJGFyeTsKfTsKCnZhcl9kdW1wKCRhKDEpKTsKdmFyX2R1bXAoJGEoMikpOwp2YXJfZHVtcCgkYSgzKSk7CgplY2hvICItLS0gYXJyYXkocmVmKSAtLS0iIC4gUEhQX0VPTDsKJGFyeSA9IGFycmF5KCk7CgokYSA9IGZ1bmN0aW9uICgkdmFsKSB1c2UgKCYkYXJ5KSB7CgkkYXJ5W10gPSAkdmFsOwoJcmV0dXJuICRhcnk7Cn07Cgp2YXJfZHVtcCgkYSgxKSk7CnZhcl9kdW1wKCRhKDIpKTsKdmFyX2R1bXAoJGEoMykpOwoKZWNobyAiLS0tIEFycmF5T2JqZWN0IC0tLSIgLiBQSFBfRU9MOwokYXJ5ID0gbmV3IEFycmF5T2JqZWN0KCk7CgokYSA9IGZ1bmN0aW9uICgkdmFsKSB1c2UgKCRhcnkpIHsKCSRhcnlbXSA9ICR2YWw7CglyZXR1cm4gJGFyeTsKfTsKCnZhcl9kdW1wKCRhKDEpKTsKdmFyX2R1bXAoJGEoMikpOwp2YXJfZHVtcCgkYSgzKSk7