当我尝试在 while 循环中使用implode时。以前的所有结果都在最后的结果中。
我要做的是在每种情况下对主题的标签进行分组。
这是代码
//$fetch = select from table;
while ( $p = mysql_fetch_array($fetch) ) {
$skills = explode(',',$p[skills]);
foreach($skills as $skls){
$skills2[] = $skls;
}
$skills3 = implode(' ',$skills2);
}
但所有结果都出现在最终结果中。
例如:
1 | php,c++,c
2 | perl,c#
3 | photoshop,web_support
输出结果为:
答案 0 :(得分:1)
如果您只想要外循环的每次迭代的值,那么每次都需要重置变量。
否则$ skills2 []将继续向$ skills2数组添加新索引。
尝试类似:
while ( $p = mysql_fetch_array($fetch) ) {
$skills = explode(',',$p[skills]);
$skills2 = array(); // initialise $skills2 as an empty array
foreach($skills as $skls){
$skills2[] = $skls;
}
$skills3 = implode(' ',$skills2);
//var_dump($skills3);
}