foreach php 多次输出,关于foreach输出问题

$sql1="select * from y_cate order by asc";

$result1=mysql_fetch_array(mysql_query($sql1));

var_dump($result1);

foreach($result1 as $ke=>$a){

echo $a."

";

}

?>

我想用foreach 来循环输出cate表的所有数据,为什么只输出一条数据的?求解答

回复讨论(解决方案)

$sql1="select * from y_cate order by asc";$result1 = mysql_query($sql1);while($row = mysql_fetch_array($result1)) { foreach($row as $ke=>$a){ echo $a."

"; }}

select * from y_cate order by asc的问题

order by没有指定字段,会报错:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near "..........

$sql1="select * from y_cate order by asc";$result1 = mysql_query($sql1);while($row = mysql_fetch_array($result1)) { foreach($row as $ke=>$a){ echo $a."

"; }}

必须要用while么?

如果用while的话

[code] $sql1="select * from y_cate order by px asc";

$us=mysql_query($sql1);

while($result1=mysql_fetch_array($us)){

echo $result1['name'];

}[/code]

这样子不是更简洁??而且好像你那个方法输出的时候会重复输出,下面是输出的数据,重复了一次

43

43

网站首页

网站首页

50b5b9555f97e.png

50b5b9555f97e.png

0

0

0

0

select * from y_cate order by asc的问题

order by没有指定字段,会报错:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near "..........

亲,手敲的代码,手误漏掉了。请问我问的问题怎么解决

$sql1="select * from y_cate order by asc";$result1 = mysql_query($sql1);while($row = mysql_fetch_array($result1)) { foreach($row as $ke=>$a){ echo $a."

"; }}

必须要用while么?

如果用while的话

[code] $sql1="select * from y_cate order by px asc";

$us=mysql_query($sql1);

while($result1=mysql_fetch_array($us)){

echo $result1['name'];

}[/code]

这样子不是更简洁??而且好像你那个方法输出的时候会重复输出,下面是输出的数据,重复了一次

43

43

网站首页

网站首页

50b5b9555f97e.png

50b5b9555f97e.png

0

0

0

0

重复是因为你用了 mysql_fetch_array 换成 mysql_fetch_assoc后就不重复了,具体原因请百度下这两个函数,一看就明白.

版大给出的方法是正确的,你要输出每一条记录的每一项,这就是两个循环,while取每一条,foreach取每一项. 你改完的就循环了一次 当然不能实现你的需求啦

while($row = mysql_fetch_array($result1,MYSQL_ASSOC)) {

foreach($row as $ke=>$a){

echo $a."

";

}

}

或者就用mysql_fetch_assoc/mysql_fetch_row

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用提到了遍历外部数组中的元素时,遇到了嵌套foreach导致输出多次问题。如果你想避免这个问题,可以考虑使用其他方法代替嵌套foreach循环。有几种方法可以实现这个目标。 首先,你可以使用PHP中的array_map函数。这个函数可以将一个回调函数应用到数组的每个元素上,并返回一个新的数组。通过将一个函数作为参数传递给array_map,你可以在一个循环中处理多个数组,并将结果保存在一个新的数组中。 另外,你还可以使用PHP中的array_walk_recursive函数。这个函数可以递归地遍历一个数组,并对每个元素应用一个回调函数。使用array_walk_recursive函数,你可以避免嵌套foreach循环,并且只需在一个循环中处理多个数组。 此外,你还可以考虑使用PHP中的array_reduce函数。这个函数可以将一个回调函数应用于数组的所有元素,并返回一个单一的值。通过定义一个自定义的回调函数,你可以在一个循环中处理多个数组,并将结果合并为一个单一的值。 综上所述,如果你想避免嵌套foreach循环,可以尝试使用array_map、array_walk_recursive或array_reduce等函数来处理多个数组的元素。这些方法可以提供更简洁和高效的处理方式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [php – 嵌套的foreach()](https://blog.csdn.net/weixin_34051133/article/details/116090042)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Thinkphp的volist标签嵌套循环使用教程](https://download.csdn.net/download/weixin_38605604/13985176)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [MyBatis使用foreach批量插入,foreach套查询](https://blog.csdn.net/Bernie_7/article/details/123606679)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值