Php 如何清除数组?

Php 如何清除数组?,php,Php,在循环中,我希望在循环的每次迭代结束时清除一个数组: $tab = array(); ... for($i=1; $i<=5; $i++) { if ($regle_delegation_oper[$i] != "" && $regle_delegation_cond[$i] != "") { $tab['lien_id'] = $lien_id; $tab['regle_deleg_oper'] = $regle_deleg

在循环中,我希望在循环的每次迭代结束时清除一个数组:

$tab = array();
...
for($i=1; $i<=5; $i++)
{
    if ($regle_delegation_oper[$i] != "" && $regle_delegation_cond[$i] != "")
    {
        $tab['lien_id'] = $lien_id;
        $tab['regle_deleg_oper'] = $regle_delegation_oper[$i];
        $tab['regle_deleg_cond'] = $regle_delegation_cond[$i];
        $rd->ajouter($tab);
        // here I want to clear the $tab array
    }
}

那么,如何清除$tab数组呢?

您不能执行以下操作:

$tab = array();


可以在循环开始时初始化数组:

...
for($i=1; $i<=5; $i++)
{
    $tab = array(); // This will clear the $tab array at each iteration
    if ($regle_delegation_oper[$i] != "" && $regle_delegation_cond[$i] != "")
    {
        $tab['lien_id'] = $lien_id;
        $tab['regle_deleg_oper'] = $regle_delegation_oper[$i];
        $tab['regle_deleg_cond'] = $regle_delegation_cond[$i];
        $rd->ajouter($tab);
    }
}

所以我不是在循环之前声明它,而是在循环内部?你在两个地方都声明它。第二次只是将$tab设置回空数组。
unset($tab);
...
for($i=1; $i<=5; $i++)
{
    $tab = array(); // This will clear the $tab array at each iteration
    if ($regle_delegation_oper[$i] != "" && $regle_delegation_cond[$i] != "")
    {
        $tab['lien_id'] = $lien_id;
        $tab['regle_deleg_oper'] = $regle_delegation_oper[$i];
        $tab['regle_deleg_cond'] = $regle_delegation_cond[$i];
        $rd->ajouter($tab);
    }
}
$tab = array();
for($i=1; $i<=5; $i++){

    if ($regle_delegation_oper[$i] != "" && $regle_delegation_cond[$i] != "")
    {
        $tab['lien_id'] = $lien_id;
        $tab['regle_deleg_oper'] = $regle_delegation_oper[$i];
        $tab['regle_deleg_cond'] = $regle_delegation_cond[$i];
        $rd->ajouter($tab);
        unset($tab);
    }
}