Php 为什么要获取数组foreach循环?

Php 为什么要获取数组foreach循环?,php,mysql,pdo,Php,Mysql,Pdo,喂,有人能解释一下为什么我在这段代码中得到一个数组吗 $loop2 = $link->query("SHOW tables FROM test"); $tables = $loop2->fetchAll(PDO::FETCH_ASSOC); foreach($tables as $table) { $capital = $table; $small = $table; 当我回显$capital或$small时,我得到数组为什么?顺便说一句,

喂,有人能解释一下为什么我在这段代码中得到一个数组吗

$loop2 = $link->query("SHOW tables FROM test");

$tables = $loop2->fetchAll(PDO::FETCH_ASSOC);
    foreach($tables as $table) {
        $capital = $table;
        $small = $table;
当我回显$capital或$small时,我得到数组为什么?顺便说一句,我正在使用foreach对不起,我是循环中的新手,$table是一个关联数组,包含所选表中的项、表列名称,如下所示

$table['column_id'];
$table['column_name'];
$table['column_date'];
您可以使用print\r php函数进一步检查it列

print_r($table);

我认为,这是一个关联数组,请尝试打印以检查关联,然后在每个循环中使用另一个数组,然后重试

$kmg = array('val1'=>array('1','2','3'),
            'val2'=>array('4','5','6'));

foreach($kmg as $value){
    print_r($value);
}

$capital=$table['field_name];FETCH_ASSOC告诉它将每条记录作为关联数组进行提取。因此,$tables是一个记录数组,$table是一个给定记录中的值数组。@DevsiOdedra这次我在运行脚本时没有得到null值,我想得到打印在选项TAGSRINT\u r上的表名$tables可能会得到结果中的所有行以及每行中的所有值。但是,在foreach中执行print_r$表时,应该显示结果一行中的字段。我不明白print_r$table怎么可能向您显示所有的表格。仔细检查你写的东西。如果您想让我们都不必猜测您的意思,请向我们展示该查询返回的内容。print_r$表的输出将完成这项工作。即使只是数组中的前几项也可以作为示例。一旦我们能够真正看到您的数据,就更容易给您一个明确的答案。另外…您说您想将其放入选项标记中…您想将表中的哪些字段用于每个标记中的值和描述?您没有提到它。当我使用$table['column_name']时仍然为null;我没有值选项标签是blank@J.Code$table['列名称'];这就是一个例子。您必须打印\r$表格;要了解列名称,我将如何与每个列进行循环?我希望所有的表都是循环的我可以看到我的表