我在从这个多维数组中拉出元素时遇到了麻烦?
以下是我的代码:
$ShowTables = $Con->prepare("SHOW TABLES");
$ShowTables->execute();
$ShowTResults = $ShowTables->fetchAll();
如果我print_r($ShowTResults);
我得到了这个多维数组:
Array (
[0] => Array ( [Tables_in_alltables] => userinformation [0] => userinformation )
[1] => Array ( [Tables_in_alltables] => users [0] => users )
)
加载Foreach新表,它会添加数组的另一个维度。我想将每个表名从多维数组中拉出一个新的数组,我可以将其用于未来的计划。
有人会有任何想法吗?
我试过1 foreach
循环;但这没有任何正义。
答案 0 :(得分:0)
我尝试过的解决方案:也许不像其他人那样做,这是完全尊重的。但这是我的:
$DatabaseTables = array();
foreach($ShowTResults AS $ShowTResult)
{
foreach ($ShowTResult AS $ShowT)
{
$DatabaseTables[] = $ShowT;
}
}
$DatabaseTables = array_unique($DatabaseTables); //Deletes Duplicates in Array
unset($ShowTResult);
unset($ShowT); // Free up these variables
print_r($DatabaseTables);
答案 1 :(得分:0)
您想以数组的形式获取第一列的所有结果:
$ShowTResults = $Con->query("SHOW TABLES")->fetchAll(PDO::FETCH_COLUMN, 0);
print_r($ShowTResults);
这会给你:
Array (
[0] => userinformation
[1] => users
)
我认为这就是你要找的东西。
另一个变体(稍微复杂,但适合类似但很少不同的情况)是将结果作为函数(PDO::FETCH_FUNC
)获取并直接映射结果:
$ShowTResults = $ShowTables->fetchAll(PDO::FETCH_FUNC, function($table) {
return $table;
});