解析数据库表并提取唯一名称

时间:2016-08-23 14:07:45

标签: php sql

我有一个如下所示的表:

表名:test

|--------------------|
|------Column 1------|
|--------------------|
|John,Raul,Matt,Tyler|
|Tim,Hannah----------|
|Zeke,Brady,Tim,Tyler|
|Elliot,Zeke---------|
|Matt,Andrew,Idda----|
...

我需要将所有这些名称都放入PHP数组中,而不会出现多个同名的情况。

通过SQL获取每个唯一名称会更好吗,或者我应该只提取列,然后通过PHP解析它?

最终的PHP数组如下所示:

$test_array[0]="John"
$test_array[1]="Raul"
$test_array[2]="Matt"
$test_array[3]="Tyler"
$test_array[4]="Tim"
$test_array[5]="Hannah"
$test_array[6]="Zeke"
$test_array[7]="Brady"
$test_array[8]="Elliot"
$test_array[9]="Andrew"
$test_array[10]="Idda"

我不确定如何解析表格中的每个单元格。你们会做什么?

1 个答案:

答案 0 :(得分:0)

我同意最好规范化数据库。但是,考虑到你所描述的情况,我会执行SQL select并使用PHP来运行结果。

我将$ results初始化为空字符串:

$results = '';

然后我用$ results连接每一行:

$results .= $row;

然后我会使用explode()将所有名称放在数组中:

$all_names = explode(',', $results);

然后我使用array_unique()将$ all_names数组减少为唯一值:

$unique_names = array_unique($all_names);

HTH。