如果我有这个数组:
array(1) {
["ID"]=>
string(1) "3"
}
array(1) {
["ID"]=>
string(1) "6"
}
array(1) {
["ID"]=>
string(1) "9"
}
我希望得到一个输出:3, 6, 9
如何连接或破坏这些数组值以放入变量,以便我将该变量的值使用如下:3, 6, 9
:$this->db->set('SecondaryRoleID', $imploded);
答案 0 :(得分:4)
使用函数array_column
将每个元素的ID提取到一维数组中,然后像往常一样implode
:
echo implode(',', array_column($array, 'ID'));
如果您运行的PHP早于5.5,则array_column
无法开箱即用,因此您必须提供等效代码,例如
echo implode(',', array_map(function($r) { return $r['ID']; }, $array));
也就是说,您对最终结果的建议使用(将表示项ID的逗号分隔整数列表粘贴到数据库字段中)是不寻常的,可能是错误的。对于多对多关系(每个用户可以有多个角色,每个角色可以分配给许多用户),标准实现是使用连接表,保持数据库架构规范化。