我希望存储已经存储为id的数据库值,并通过a检索数组中的每个循环。
我尝试过类似的东西,但它不起作用:
foreach ($list as $item)
{
$commaSeparated = implode(',' , $item['id');
}
echo $commaSeparated;
其中item['id']
是从查询中提取的特定列。如果我使用$ list变量,那么我得到了我不想要的查询的完整结果。
但是,我的错误导致了这个:
Warning: implode(): Invalid arguments passed
这正确地归还了我需要的东西:
foreach ($list as &$id)
{
$listArr[] = $id['toolbar_id'];
$commaSeparated = implode(',' , $listArr)
echo $commaSeparated;
答案 0 :(得分:2)
implode
的第二个参数需要是一个数组。试试这个:
$commaSeparated = implode(',', $list);
答案 1 :(得分:2)
Implode函数接受分隔符和参数数组。然后你应该这样做:
$commaSeparated = implode(',' , $list);
echo $commaSeparated;
答案 2 :(得分:2)
这是因为您需要执行
$commaSeparated = implode(',' , $list);
虽然这不是一个好习惯。您永远不应将列表存储为数据库中以逗号分隔的项目。相反 - 为它创建附加表并每行存储1个项目。
答案 3 :(得分:0)
我建议你尝试一个var_dump($ variable),其中$ variable是...变量,数据存储在其中,知道它的结构将告诉你期望什么数据以及如何迭代它。
答案 4 :(得分:0)
如果数据格式不正确,您需要进行更多检查以避免错误。
if(is_array($list)){
foreach ($list as $item)
{
if(is_array($item))
$commaSeparated = implode(',' , $item);
}
echo $commaSeparated;
}