【问题标题】:For cleared or unset php arrays, are elements garbage collected?对于已清除或未设置的 php 数组,是否会收集元素垃圾?
【发布时间】:2011-04-03 04:21:04
【问题描述】:

如果我取消设置一个数组,假设它们没有在其他任何地方引用,它的元素是否会被垃圾收集或释放? 如果我只是简单地做 $array =new array();

$array = array('a'=>1); //方法1清空数组 未设置($数组);

方法2清空数组

$array = array('a'=>1); //方法2清空数组 $array y = 数组();

【问题讨论】:

标签: php arrays


【解决方案1】:

以下简单代码回答问题:

        $a = array();
        $a[0] = 'a1';
        $a[1] = 'b2';

        foreach($a as $v)
            echo $v . '<br />';
        //writes content of array

        echo count($a) . '<br />';
        //writes 2

        $a = array(); //CLEAR ARRAY

        foreach($a as $v)
            echo $v . '<br />';
        //writes nothing

        echo count($a) . '<br />';
        //writes 0

【讨论】:

    【解决方案2】:

    【讨论】:

    • 这应该是评论而不是答案,至少在我看来。向下滚动到答案部分并看到重定向是论坛时代的生活。不过很好找!
    【解决方案3】:

    以下将修改数组本身并将其留空:

    array_splice($myArray, 0);
    

    还有Splice Documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 2012-12-20
      • 2011-06-17
      • 1970-01-01
      • 2011-12-29
      • 1970-01-01
      相关资源
      最近更新 更多