为什么foreach只能遍历处理一条数据

用foreach 遍历处理一些数据。sql语句没问题。但是每次foreach只处理了一条数据。

4个回答

你是不是用break了?

weixin_39606236
꧁gaoKuo꧂ 回复这名字很随意: ...我记得我看的是javaTag啊...看错了
一年多之前 回复
weixin_44836553
这名字很随意 回复GaoKuoZ: PHP!
一年多之前 回复
weixin_39606236
꧁gaoKuo꧂ 回复这名字很随意: 这是java代码???
一年多之前 回复
weixin_44836553
这名字很随意 回复GaoKuoZ: 看下代码,感觉没啥毛病
一年多之前 回复
weixin_39606236
꧁gaoKuo꧂ 回复这名字很随意: 没有代码的话... 1.检查是否存在一级缓存 2.集合类是否为代理类(list.getClass().getClassName()) 这两个常常是导致奇怪问题的原因
一年多之前 回复
weixin_44836553
这名字很随意 没有,很平常的一个foreach。把查询出来的数据进行批量循环处理
一年多之前 回复

你哪写错了吧,把代码贴出来看看

weixin_44836553
这名字很随意 贴出来了
一年多之前 回复

又是java又是php,你到底什么语言?

看下是不是对象引用的问题,看下面两个代码的差别

Person p;
foreach (string s in list)
{
p.Name = s; //每次修改的是同一个对象,下次循环的时候,还在修改它
list.add(p); 
}
Person p;
foreach (string s in list)
{
p = new Person(); //每次循环创建一个新对象
p.Name = s; //这样设置,就不会影响到别的
list.add(p); 
}
weixin_44836553
这名字很随意 手抖了多点了一个java。
一年多之前 回复

你这问题问的好,考验我的社工能力了,敢不敢再提示出一点详情?
我应该不用回答了,折腾这么久应该好了!
首先你检查下你遍历的是个什么?
sql是不是limit限制返回条数?
你再遍历里面是不是调用方法,而方法就是那种一去不回头的那种?

weixin_44836553
这名字很随意 代码贴出来了
一年多之前 回复
weixin_44836553
这名字很随意 调用的方法都是管用的
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问