PHP-php把返回的数据连成一个字符串
数据表里是id,name这样的字段 我想实现这样的【id】namen【id】namen【id】namen 把整个输出赋给一个变量,群里有位才人给出下面的代码
while($row = mysql_fetch_assoc($result)){
$output .='['.$row['id'].']';
$output .=$row['name'].'n';
}
echo $output
这段代码是正确的,但我还想问几个问题
1.while里面没有循环条件,是不是因为mysql_fetch_assoc()指针会自动滚动,知道没有全部记录取完?
2.循环体中等号前面的 . 有什么用?只起到连字符的作用么?
3.循环体中$output随着循环被多次赋值,应该前面的值被覆盖了啊 结果怎么是全部的输出被连到一起了呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
汗。。。自己找到第二个问题的答案了
连接符与赋值运算符一起可构成连接赋值运算符:
$x = "beijing";
$x .="你好"; //$x = "beijing你好”
其实while和foreach差不多的,建议楼主还是多去w3school上看一些基础的知识
1.mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组,返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返回 false;
2.(.=)是连接运算符, x.=y相当于x=x.y
while就是循环啊
$output = '';
while($row = mysql_fetch_assoc($result)){
$output .='['.$row['id'].']';
$output .=$row['name'].'n';
}
echo $output;
不会覆盖的 只会追加 因为有 .