从MySQL的GROUP_CONCAT创建PHP数组

亚历克斯·G

我通过使用GROUP_CONCAT从MySQL查询中获取数据:

GROUP_CONCAT('id => ',assignments.userid,', assigned => ',assignments.assigned SEPARATOR ';') as assigneeids

并尝试将其转换为PHP数组。

$assignees = explode(';', $ticket['assigneeids']);
foreach($assignees as $assignee) {
    echo "$assignee\n"; // $assignee['id'] outputs 'i'
    echo gettype($assignee) . '\n';
}

但是不幸的是$assignee变成了字符串而不是数组。输出:

id => 1001, assigned => 1419648601
string
id => 1002, assigned => 1419649207
string

我究竟做错了什么?

达伦

您正在将其串联为字符串,而不是数组。做这样的事情您会更好吗?

GROUP_CONCAT(assignments.userid,'_',assignments.assigned SEPARATOR ';') as assigneeids

提取后,您需要做一些explode()'ing魔术

$assignees = explode(';', $ticket['assigneeids']);
foreach($assignees as $assignee) {
    list($id, $assigned) = explode("_", $assignee);
    echo "$id\n";
    echo gettype($assigned) . '\n';
}

示例/演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章