这应该相当简单。我已经精心设计了一个SQL查询,它将所有匹配的数据库表名转储到一个数组中。我想打印出来,但出于某种原因,我不能。请帮忙!
数据库表的名称为:example_1,example_2等。
我的代码:
$sql = "SHOW TABLES LIKE 'example_%'";
$results = $wpdb->get_results($sql);
执行print_r($ results)表示已成功检索到所有表名。 示例输出:
Array ( [0] => stdClass Object ( [Tables_in_wordpress (example_%)] => example_1 ) [1] => stdClass Object ( [Tables_in_wordpress (example_%)] => example_2 ) )
然后我尝试了:
foreach($results as $res) {
echo $res;
}
但没有运气。如何遍历$results
以打印出每个表名?是否有类似$results[0].value
的东西我可以用来检索值?
答案 0 :(得分:6)
我相信这就是你需要做的事情:
$sql = "SHOW TABLES LIKE '%'";
$results = $wpdb->get_results($sql);
foreach($results as $index => $value) {
foreach($value as $tableName) {
echo $tableName . '<br />';
}
}
=&gt;将密钥和值与多维数组分开。
答案 1 :(得分:1)
尝试以下代码。
global $wpdb;
$res = $wpdb->tables();
var_dump($res);
答案 2 :(得分:0)
可以使用array_column
简化此操作。
$tables = array_column( $wpdb->get_results("show tables"), "Tables_in_local" );
foreach( $tables as $table ) {
echo $table;
}