php - 从mysql数组中选择数据
问题描述
在我的 MySQL 数据库中,我有一个名为的数组列(文本类型)friend_array
,其中变量usernames
用逗号 (,) 分隔
例如:user1
friend_array
单元格中的值是:
prevert,
borges,
eliot,
wislawa,
derek,
hebert,
pushkin,
plath,
donnelly,
ahlberg,
ginsberg,
amiri,
rilke,
mckay,
aam,
wowen,
larkin,
michaux,
moliver,
dickinson,
rumi,
reverdy,
brecht,
tate,
cad,
cummings,
dianeb,
sexton,
redson,
pessoa,
transtromer,
shakespeare,
mistral,
sodergran,
bukowski,
auden,
tedhu,
ashton,
tomandrews,
gwallas,
updike,
ashbery,
jenkins,
rhass,
whitehead,
montale,
ritvo,
snyder,
kooser,
simic,
koertge,
nemerov,
aporter,
reichhold,
rduncan,
meretop,
kkoch,
strand,
kahf,
asha,
keats,
pinter,
santoka,
opaz,
breton,
schreiner,
bataille,
cedo,
galeano
现在如何在php中分别选择每个朋友以便查看朋友列表而不重复
提前致谢
解决方案
您应该创建一个friend
如下所示的新表,例如:
friend
===============
id_user | username
有了primary key
on id_user1 + username
,这样就可以得到你所有的朋友user1
了SELECT username FROM friend WHERE id_user = :id_user1;
。正如评论中所说,让这种字段包含一个包含多个值的字符串是非常糟糕的做法。
现在回答这个问题,如果您设法获得friend_array
值(如您所说,一个具有多个用户名的字符串,用逗号分隔),您可以执行以下操作:
$data = explode(',', $your_friend_array_string);
如果要删除重复项:
$data_unique = array_unique($data);
希望它有所帮助,但如果可能的话,首先要改变你存储数据的方式!
推荐阅读
- python - 如何舍入我的平均值并删除输出中的括号?
- java - 如何在同一个表单上正确使用 Picker 和 BrowserComponent?
- flask - 从多个不同的 Ajax 请求将文件上传到烧瓶后,将数据添加到 sqlAlchemy
- angular - 如何查询 *ngTemplateOutlet 注入的子组件
- r - 如何对字符串列表进行模式匹配
- php - Codeigniter 模型自动加载不适用于 MY_Loader 类
- ruby - 命名和调用 Procs 是否有特殊规则?
- css - CSS 旋转在 div 周围创建不需要的边框
- python - 当我运行 Google AIY 程序时出现错误
- php - 查找具有重复键值的元素并使用 PHP 添加新键