【发布时间】:2012-03-15 16:05:48
【问题描述】:
查看这段代码: http://codepad.org/s8XnQJPN
function getvalues($delete = false)
{
static $x;
if($delete)
{
echo "array before deleting:\n";
print_r($x);
unset($x);
}
else
{
for($a=0;$a<3;$a++)
{
$x[]=mt_rand(0,133);
}
}
}
getvalues();
getvalues(true); //delete array values
getvalues(true); //this should not output array since it is deleted
输出:
array before deleting:
Array
(
[0] => 79
[1] => 49
[2] => 133
)
array before deleting:
Array
(
[0] => 79
[1] => 49
[2] => 133
)
为什么数组$x在取消设置时没有被删除?
【问题讨论】:
-
做 $x = null;在函数之外取消设置它。在我的例子中,语法是 class_name::$static_property = null;