鍍金池/ 問(wèn)答/PHP  數(shù)據(jù)庫(kù)/ foreach中使用mongo會(huì)終止循環(huán)?

foreach中使用mongo會(huì)終止循環(huán)?

我用php寫了一個(gè)foreach循環(huán),在中間連接mongo去修改一些數(shù)據(jù),這個(gè)時(shí)候foreach只會(huì)遍歷一次,而我的循環(huán)次數(shù)應(yīng)該是200才對(duì);
程序執(zhí)行是成功的,沒(méi)有報(bào)錯(cuò),但是只遍歷了一次
偽代碼:

foreach($arr as $k => $v){
    $save = [字段=>值];
    $where = [字段=>值];
    $this->mongo->update(表名,$save,$where);//

}
回答
編輯回答
玩控

謝謝各位的回答,我已經(jīng)找到問(wèn)題,是由于mongo在做數(shù)據(jù)操作的時(shí)候需要實(shí)例化一個(gè)bluk對(duì)象,這個(gè)對(duì)象我只實(shí)例化了一次,改為每次循環(huán)都實(shí)例化就好使了

2017年10月14日 18:52
編輯回答
舊城人

這個(gè)肯定不是foreach的問(wèn)題,
你的$arr數(shù)組有幾個(gè)元素,它就會(huì)循環(huán)幾次,除非你用了break,continue,return。

你可以在循環(huán)體內(nèi)echo $k,看一次是否只循環(huán)了一次。

可能是你的數(shù)據(jù)只修改了一條,那是你更新數(shù)據(jù)那部分的代碼有問(wèn)題。

2017年5月10日 03:27