2011-12-24 24 views
0

我想每个输出后添加一个空格,但其仅出现在最后的输出空间添加到每个阵列输出

if ($en['mm_wmeet']) { 
    $tmp = explode(",", $en['mm_wmeet']); 
    for ($i = 0; $i < count($tmp); $i++) { 
     $en['mm_wmeet'] = $tmp[$i]. "&nbsp;"; 
    } 
} 
+2

您分配,而不是增加。使用'。='添加 – 2011-12-24 09:51:54

回答

4

最好的方法是str_replace()函数

$en['mm_wmeet'] = str_replace(',', '&nbsp;', $en['mm_wmeet']);  
5

正如佩卡说,使用.=

$tmp = explode(",", $en['mm_wmeet']); 
for ($i = 0; $i < count($tmp); $i++) { 
    $en['mm_wmeet'] .= $tmp[$i] . "&nbsp;"; 
} 

或者,使用implode

$tmp = explode(",", $en['mm_wmeet']); 
$en['mm_wmeet'] = implode("&nbsp;", $tmp); 
1

你正在做的事情的净效果是只是r E将逗号与空格,所以你可以使用PHP的内置功能str_replace

$en['mm_wmeet'] = str_replace(',', '&nbsp;', $en['mm_wmeet']); 

如果您的搜索字符串更复杂,你可以使用正则表达式来代替。

例如,如果你想也去掉列表项之间的任何现有的纯白色的空间,你可以这样做:

$en['mm_wmeet'] = preg_replace('/,\s*/', '&nbsp;', $en['mm_wmeet']); 

如果你真的想后,一个额外的尾部空间,只是追加了。