【发布时间】:2019-05-18 17:18:01
【问题描述】:
我正在处理 PHP PDO 查询,我想检查 JSON 列是否与 PHP 数组相交。
$classes = [1,2,3,4,5,6,7];
|---------------------|------------------|
| students | classes |
|---------------------|------------------|
| 12 | [1,3,6] |
|---------------------|------------------|
| 13 | [2,9,10] |
|---------------------|------------------|
| 14 | [9,8,10] |
|---------------------|------------------|
例如,在上面的示例中,我需要让所有至少有一个班级的学生存在于$classes = [1,2,3,4,5,6,7]; 数组中,因此在这种情况下,结果应该是:
|---------------------|------------------|
| students | classes |
|---------------------|------------------|
| 12 | [1,3,6] |
|---------------------|------------------|
| 13 | [2,9,10] |
|---------------------|------------------|
我尝试将数组设为字符串并执行“%like%”,但由于'x,y,z' 不在'a,b,x,c' 中,它无法正常工作。
所以我想知道我们是否可以比较存储在 MySQL 中的两个数组作为 json 和另一个是 PHP 数组。我需要在查询中这样做。
谢谢
【问题讨论】:
-
所以你想比较两个数组?
-
是的,两个数组以 json 格式存储在 MySQL 中,另一个是 PHP 数组。我需要在查询中这样做
-
你能展示一些示例数据和代码吗?也是预期的输出
-
@executable 我不需要比较两个 php 数组,检查我的评论我编辑了问题以解释更多,谢谢
-
从数据库中获取 JSON,反序列化为 PHP 数组,然后比较数据。为什么你认为你“需要”在查询中准确地做到这一点?你要做的就是比较两个字符串,这并不能帮助你匹配字符串中的实际数据项。
标签: php mysql sql pdo phpmyadmin