如何删除所有变量和存储数组以及一些php变量和循环?

时间:2015-07-06 10:30:34

标签: php arrays

如何删除所有变量和存储数组以及一些php变量并循环?

这是我删除所有变量的代码,并存储array objResult$c变量并循环直到完成。

但是当我测试代码时。它只会存储$c,如何存储array objResult

我的代码也没有循环。如何才能对商店$c以及array objResultloop while执行此操作。

<?PHP
include("connect.php");
$strSQL = "SELECT * FROM table WHERE name = ''";
$objQuery = mysql_query($strSQL);
while($objResult = mysql_fetch_array($objQuery))
{
    $a = "111";
    $b = "122211";
    $c = "333";
    $d = "444";
    $defined_variables = get_defined_vars();
    $variables2keep = array("objResult" , "c");  // not clear $d and array objResult//
    foreach($defined_variables as $variable => $value) 
    if(!in_array($variable, $variables2keep)) unset($$variable);

    echo $objResult["id"];
}
?>

1 个答案:

答案 0 :(得分:0)

将您的代码更改为以下内容:

<?php
include("connect.php");
$strSQL = "SELECT * FROM table WHERE name = ''";
$objQuery = mysql_query($strSQL);
while($objResult = mysql_fetch_array($objQuery)) {
    $a = "111";
    $b = "122211";
    $c = "333";
    $d = "444";
    $variables2keep = array("objResult" , "c", "strSQL", "objQuery");  // not clear $c and array objResult, strSQL and objQuery must remain for while statement to continue through record set
    $defined_variables = get_defined_vars();
    foreach($defined_variables as $variable => $value) {
        if(!in_array($variable, $variables2keep)) unset($$variable);
    }
}
unset($variable);
unset($value);
unset($strSQL);
unset($objQuery);
unset($defined_variables);

print_r(get_defined_vars());
?>

在get_defined_vars上方设置$ variables2keep会删除它。由于$ defined_variables,$ variable,$ value已经在$ defined_variables之后设置,你也需要取消设置。

然后您可以通过以下方式再次获取变量:(在未设置之后)

print_r(get_defined_vars());

你会看到你只有你想要的两个变量