我在这里遇到了一个独特的情况,我不确定这是否是正确的方法;我愿意接受建议。
我有一个函数,它可以获取数据库中的所有表名并将它们存储到一个数组中。下一个新解析的项目 ($id) 被传递到这个表名数组,并且从这个数组中取消设置任何匹配项。这给我留下了那些已经停产的剩菜。
下面的代码:
function itemDiscontinued($dbh, $id, $detail) {
try {
$tableList = array();
$result = $dbh->query("SHOW TABLES");
while ($row = $result->fetch()) {
$tableList[] = $row[0];
}
$key = array_search($id, $tableList);
unset($tableList[$key]);
print_r($tableList);
}
catch (PDOException $e) {
echo $e->getMessage();
}
}
问题是数组 $tablelist 由于函数处于 foreach 循环(解析过程)中而不断重新创建自身。一旦创建,我只需要它的一个实例即可使用。如果问题有点难以理解,我先道歉。