如何删除所有变量和存储数组以及一些php变量并循环?
这是我删除所有变量的代码,并存储array objResult
和$c
变量并循环直到完成。
但是当我测试代码时。它只会存储$c
,如何存储array objResult
。
我的代码也没有循环。如何才能对商店$c
以及array objResult
和loop 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"];
}
?>
答案 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());
你会看到你只有你想要的两个变量