0

私は次のようなループを持っています

    $items        = array(10, 12, 13, 23, 34, 32, 11, 98);
    $items_single = array();

    foreach ($items as $item) {
        $item_data = "SELECT * FROM MY_TABLE WHERE ITEM_ID = $item";
        // Don't worry, this is just a demo query, I don't query like this

        array_push($items_single, $item_data);

        unset($item_data);
//      $item_data = NULL;
    }

$item_dataメモリを解放するより良い方法はどれですか? unset()より論理的に思えますが、このようにphpはすぐに設定を解除するつもりはないと思いますが、ループの後に呼び出される可能性のあるガベージコレクションのようなものを配置します... ? unset()(そもそも持つ目的に失敗します)。while= NULLは理想的なことをしているように見えますが、一定の時間がかかり、実際にはループが遅くなる可能性があります。

また、何もしなければ、php は毎回新しい変数を作成し (メモリを消費します)、古い変数を削除して新しい変数に置き換えようとします (このように動作すると思います)。 .

4

0 に答える 0