为什么我的PHP数组将所有项合并为一个?

时间:2017-08-28 20:48:48

标签: php arrays implode

我有以下代码

  <?php $data8 = $db->query("SELECT group_concat(distinct column_name) 
FROM information_schema.columns
WHERE table_name='tablename'")->fetch_assoc();
print_r($data8); ?>

返回

Array ( [group_concat(distinct column_name)] => column1,column2,column3) 

然后使用

<?php 
$SavedNotes8= implode(" ",$data8);
print_r($SavedNotes8);
?>

它返回

column1,column2,column3

似乎数组中的所有列名称都被视为单个项目,因此implode无法检测到分隔单独项目的逗号。

他们为什么这样合并?

(旁边问题:如何在数组开头摆脱[group_concat(distinct column_name)] =>?)

谢谢!

1 个答案:

答案 0 :(得分:0)

您告诉Mysql通过concat命令将这些列名转换为字符串。

我会这样做以获取所有列名称:

SELECT column_name FROM information_schema.columns
WHERE table_name='tablename';

在这种情况下,你不需要连接东西。

编辑:

您也不需要使用&#34; distinct&#34; (如Magnus Eriksson所示)因为表中的列名永远是唯一的。