如何把一个while循环放在一个变量中?

问题描述:

嗯,它不是更多的实际代码!如何把一个while循环放在一个变量中?

$toq = mysql_query("SELECT * FROM users") 
or die(mysql_error()); 
$to = while($row = mysql_fetch_array($toq)) { echo "".$row['mail'].", "; }; 
echo $to; 
+2

@Petah并非每个人都是以英语为母语,你知道的。 – 2012-07-09 23:26:39

你想要的所有条目保存在一个数组,像这样:

$to = array(); 
while($row = mysql_fetch_array($toq)) { 
    $to[] = $row['mail']; 
} 

然后,回声作为一个逗号分隔的字符串,使用implode()

echo implode(', ', $to); 

这比替代方法要好,即使用字符串连接,但不可避免地会在末尾添加额外的逗号:

$to = ''; 
while($row = mysql_fetch_array($toq)) { 
    $to .= $row['mail'] . ','; 
} 

为了去除尾随逗号,使用rtrim()

$to = rtrim($to, ','); 
+0

谢谢!工作完美! – 2012-07-09 23:23:43

+0

@JoakimMelin - 不客气!我是我的帖子回答了你的问题,请考虑[接受它](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。另外,欢迎来到*! – nickb 2012-07-09 23:24:48

+1

+1了解什么是... – Randy 2012-07-09 23:25:35