Php 如何从MySQL中存储的数组中获取不同的值?

Php 如何从MySQL中存储的数组中获取不同的值?,php,mysql,Php,Mysql,我有一个MySQL字段,它存储一个具有3个值的数组: array(item1=>1123, item2=>5454, item3=>23432) 如何使用PHP查询数据库,以便只获取item2的不同值,然后根据item3的值排列这些结果?需要更多信息-例如,数据库的结构 查看DISTINCT()函数和SQL的ORDER BY子句,将数组存储为文本和稍后可以分离的内容要容易得多。使用php可以做到这一点。我将尝试将您的数据转换为您可以使用的数据。表示您有字段项。如果您有一个数组

我有一个MySQL字段,它存储一个具有3个值的数组:

array(item1=>1123, item2=>5454, item3=>23432)

如何使用PHP查询数据库,以便只获取
item2
的不同值,然后根据
item3
的值排列这些结果?

需要更多信息-例如,数据库的结构


查看DISTINCT()函数和SQL的ORDER BY子句,将数组存储为文本和稍后可以分离的内容要容易得多。使用php可以做到这一点。我将尝试将您的数据转换为您可以使用的数据。表示您有字段项。如果您有一个数组,例如

$items=数组(1123545423432)

然后可以使用以下符号将其内爆:

$items=内爆(“|”,$items)

然后将其存储在数据库中的某个字段下,例如类似以下内容的项:

1123 | 5454 | 23432

然后,当您想要获取数据时,只需使用相同的符号将其分解:

$items=分解(“|”,$row['items')

现在,您将返回数据集:

$items[0]=1123 $items[1]=5454 $items[2]=23432

然后可以通过抓取数组中的一个元素来访问第二项:

$items[1]


希望这能让你更好地理解它。

简单的回答是:你不能。如果您要尝试从数据库中查询它,则不会。唯一可能的方法是通过编程实现。但是,出于教育目的,您能否解释一下,为什么要将其存储为数组,而不是将每个项都放在它自己的字段中?显然,如果需要按DISTINCT进行选择,则需要将它们放在自己的字段中。但我对所选择的设计路径很好奇。基本上,它是一个有10项任务的用户帐户。每个任务在“用户”表中都有一行。数组存储任务的名称、用户何时开始任务以及何时完成任务。我认为这是实现此方案的最佳方法,而不是使用30个字段或另一个表。与存储阵列相比,这有什么好处?我是否可以通过存储数组来获得更多操作数据的能力?