PHP foreach循环中使用&是否会影响同个函数中其他的foreach 1C

在同一个函数中前面使用过foreach循环并用了图片说明

接下去继续写一个foreach循环 使用不同的$val图片说明

打印结果为正常图片说明

最后一项循环结果正常;如果改变代码中$val为$v如图图片说明

则结果不正常,最后一个不循环图片说明;求解

php

1个回答

foreach 是同等级别的就不会影响,如果是嵌套级别就有可能影响

baidu_37944821
圈点丶 我这里是同级别的 所以我认为可能是之前循环中的&影响到了后面的
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
在foreach循环中preg_match_all
[code=PHP]rn'images/news/waiguan/art_1250262268_8899.jpg',rn 1=>'images/news/waiguan/art_1250262285_9999.jpg'rn);rnforeach($array as $value)rnrn preg_match_all('/art.*jpg/i',$value, $name);rn $img = $name[0][0];rn echo $img;rn echo " ";rn ......rnrn...rn?>rn//----需求是我想把上面一长串的字符串里的图片名给提取出来,但是报错说:preg_match_all() expects parameter 2 to be string, array given in ...rn//----自我觉得并没写错,因为我前边儿也这样用的。rn//----请各位看看,这应该是哪里的问题,感谢。rn[/code]rnrn
在forEach循环中嵌套异步操作
需求:在forEach中对item的值进行异步操作,在最后一个item执行完毕执行下一步的操作 首先forEach中能否通过promise来控制每一步异步 [].forEach(async (item, index, arr) => { let result = await this.asFun() }) asFun函数返回的是个promise function asFu...
continue在循环中的使用
本可称为C语言基础课程,讲解C语言基础入门知识。rn本课程是介绍C语言的基础知识,针对所有对计算机体系结构和嵌入式知识感兴趣的学员。
cvCreateHist在循环中使用
for( v=point_x.begin();v!=point_x.end();v++)rn rnrn left_right=up_down=0;rn int HistogramBins1 = 256,HistogramBins2 = 256;rn float HistogramRange1[2]=0,255;rn float *HistogramRange_u[1]=&HistogramRange1[0];rn float HistogramRange2[2]=0,255;rn float *HistogramRange_d[1]=&HistogramRange2[0];rn CvHistogram *Histogram_up=cvCreateHist(1,&HistogramBins1,CV_HIST_ARRAY,HistogramRange_u);rn CvHistogram *Histogram_down=cvCreateHist(1,&HistogramBins2,CV_HIST_ARRAY,HistogramRange_d);//出错rn rnrn每次运行到第二个直方图初始化的时候就出错,说是内存问题,为什么呢
break在循环中的使用
课程内容:while循环、do while循环、for循环、各类循环的对比、循环的嵌套、break在循环中的使用、continue在循环中的使用。
从foreach循环中拿到某一个值
这是从页面的foreach循环中拿到一个列的值并且拼装url请求到控制层 //foreach循环中拿到一个列的值并且拼装url请求到控制层 <script type="text/javascript"> //定位到某一列的id并触发事件 $("#payYmBtn").click(function(){ //拿到payym这个类并且得到其html内容赋值给ym
LINQ在foreach循环中存在的问题
代码如下rn List table = new List();rn table.Add("a");rn table.Add("b");rn table.Add("c");rn table.Add("aa");rn table.Add("bb");rn table.Add("cc");rn table.Add("aabb");rn table.Add("aacc");rn table.Add("bbcc");rn table.Add("aabbcc");rnrn string[] keys = new string[] "a", "b", "c" ;rnrn IEnumerable sql = table;rnrn foreach (string key in keys)rn rn sql = sql.Where(s => s.Contains(key));rn rnrn int count = sql.Count();rnrn我想要的结果应该是count为1,找到的那个字符串是aabbccrnrn但是实际结果是5,返回的是c, cc, aacc, bbcc, aabbcc, 也就是只有最后一个条件满足了rn我调试了一下发现,在第3次进入foreach循环体时,sql仍然还有10个对象,似乎前2次的WHERE都没有生效rnrn然后我将foreach换成了rnfor (int i = 0; i < keys.Length; i++)rnrn string key = keys[i];rn sql = sql.Where(s => s.Contains(key));rnrnrn结果就是 count为1了,正确了rnrnrn谁知道这是为什么吗
foreach循环中分批执行方法的请教
我在一个 foreach循环中想以items的数量作为单位计算,当items循环到第10个,20个时调用方法,当有24个itmes时rn要调用3次方法,即第10次,第20次,以及剩下的4次为一次rnforeach(objitmes obj in itmes)rnrn 第10,20次,剩下的rn 调用方法rnrn如果我想以obj为单位,每个obj里有6个盒,当循环到第50盒调用一次方法,按上面的例子,有144盒,即第50盒,rn第100盒,剩下的44盒,三次调用rn也就是根据数量,rn请问该怎么实现,调用方法都在foreach 里
foreach循环中$p[] = $MaterialType 的疑问
[code=php]rnclass so_getMaterialTypernrn var $CreateTime = '';rn var $IsDefault = '';rn var $UpdateTime = '';rnrnrnrn$p = array();rn$sql = 'SELECT * from tb where lid<50';rn$re_materialTypeID = $db->getAll($sql);rnrnforeach($re_materialTypeID as $key => $val)rnrn $getMaterialType = new so_getMaterialType ; //为什么每次循环都要新申请一遍,而不是放在循环外面申请一次即可??rn rn $getMaterialType->CreateTime = $val['CreateTime'];rn $getMaterialType->IsDefault = $val['IsDefault'];rn $getMaterialType->UpdateTime = $val['UpdateTime'] ;rnrn $p[] = $getMaterialType ;rnrnvar_dump($p);rnreturn $p;rn rn/*————————这种写法与上面差别是什么??———————————*/rnrn$getMaterialType = array();rnrn$getMaterialType[] = new so_getMaterialType ;rnrn$sql = 'SELECT * from tb where lid<50';rn$re_materialTypeID = $db->getAll($sql);rnrnforeach($re_materialTypeID as $key => $val)rnrn $getMaterialType[$key]->CreateTime = $val['CreateTime'];rn $getMaterialType[$key]->IsDefault = $val['IsDefault'];rn $getMaterialType[$key]->UpdateTime = $val['UpdateTime'] ;rnrnrnvar_dump($getMaterialType);rnreturn $getMaterialType;rn[/code]
foreach循环中不用break,如何跳出循环
代码如下:要求,不用break,如何实现跳出循环. 可重复循环.rnstring str[]="1","2","3","4","5"rnforeach(string tempStr in strrn if (tempStr=="3")rn System.out.prin(tempStr+"\r\n"); rn break;rn rnend
再发foreach循环中增加元素
public function index() { // return '论坛首页'; $lists = Db::table('forumList')-&amp;gt;where('state','neq',0)-&amp;gt;order('state desc')-&amp;gt;paginate(10); $arrs = []; foreach...
foreach循环中,这样的变化如何写
输出的内容一样的,只是样式不一样,rn第一个输出rn[color=#800000]题目1[/color] rn第二个输出rn[color=#FF0000]题目2|[/color](没有标签了且后面跟有|)rn以此类推rn我只写出了第一个,第二个不会写了,我也知道要用判断,但不知怎么写rnrn[code=php]rn rn 11 && $value['navigation_id']<27)?>rn 题目1 rn rn rn [/code]
PHP foreach循环中元素直接赋值失败的问题
最近在写PHP业务逻辑的时候,犯了一个小错误,特意在这里记录一下,代码如下: foreach ( $data as $item ) { $item['pick'] = str_replace('01', '1', $item['pick']); } 这是一个非常普通的逻辑,就是修改元素里某个属性的值,修改完之后再赋值给自己。但是我却发现这里的结果与我的想法有出入,并没有修改成功。 ...
php(while 循环中换行)
rn rn 用户名: 发表时间: rn rn rn rnrn这个是从数据库里查询出内容显示到页面上,怎么控制换行否则页面变形:rn用户名:xxxxxxxxxxxxxxxxxxx 发表时间:2008-4-16rnddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddrn内容过长页面变形,怎么解决,请大家帮忙...谢谢.....将上面代码改下rnrn
PHP 改变循环中的值
[code=php] foreach($array as $key=>&$value)rn //如果 $value 也是一个数组rn //我要拆分 $value 例如足够拆分2此rn $result = array_slice($value,0,3);rn //下次循环 的rn $value = array_slice($value,3);rnrn //问: 怎么是下次循环数组为 array_slice($value,3);rn [/code]rnrn小弟 刚接触PHP 各位帮帮忙哇
循环中的异步&&循环中的闭包
在这之前先要了解一下 for循环中let 和var的区别 var 是函数级作用域或者全局作用域,let是块级作用域 看一个例子 function foo() { for (var index = 0; index &amp;lt; array.length; index++) { //..循环中的逻辑代码 } console.log(index)...
在循环中使用事务的问题
OPEN BaseInfo_cursor -- 打开游标,共2条记录rn FETCH NEXT FROM BaseInfo_cursor INTO ... -- 取字段值rn WHILE @@FETCH_STATUS = 0 -- 取游标状态 0-成功rn BEGINrn select @PoolSql = .....rn select @MyErr = 0rn begin transaction @TransNamern Execute(@PoolSql) -- 有错误rn Select @MyErr = @MyErr + @@errorrn update BookBaseInfo set Valid = 0 where ... -- 无错误rn Select @MyErr = @MyErr + @@errorrn if @MyErr <>0 rn rollback transaction @TransName rn elsern commit transaction @TransNamern FETCH NEXT FROM BaseInfo_cursor INTO... -- 取下一条记录字段值rn ENDrnrn整个循环应该执行两次,第一次出现错误,回滚,第二次循环内容就不执行了,什么原因呢?各位大侠帮助分析一下。
javascript 循环中使用匿名函数
一、什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: [code=&quot;java&quot;] function fnMethodName(x){alert(x);} [/code] 函数字面量(Function Literals): [code=&quot;java&quot;] var fnMethodName = function(x){a...
在循环中使用break语句
本教程从初学者角度出发,通过通俗易懂的语言、丰富多彩的案例,详细介绍了使用Java语言进行程序开发需要掌握的知识包括初识Java、Java语言基础、流程控制、类和对象、封装、继承、多态等。所有知识点都结合具体实际案例进行讲解,涉及的程序代码给出了详细的注释,可以让你快速提高开发技能。
循环中使用Random注意事项
循环调用方法时如果方法中有随机数Random  应采用不在方法中new而是采用传参的形式,因为当循环调用执行速度很快时,会导致每次new出来的Random的种子相同,造成产生的随机数相同    如一定要在循环中写  可将System.currentTimeMills()置换成循环数 i(或不写) 这样生成随机数的种子不同便不会生成相同的随机数
循环中能否使用DrawText
我在循环中使用了DrawText,在同一个位置显示,每次循环总是新的结果覆盖旧的结果.rn那位高手知道如何解决?
fgets在循环中使用出错?!
fgets在循环中使用出错?! 是的,我今天在做程序时,就遭遇了这个问题,严格上来说,这是一个与指针有关的问题。先看看下述代码段: #define LINE_LENGTH 100 void import_file(char* file_path) { int sum = 0; FILE   *fp_r;    FILE   *fp_w;    char   *line;//
循环中使用remove/add
今天在编写MIT实验Poetic Walks的过程中,在循环中为了删除list中的元素,使用了remove方法。在编写测试用例时发现错误。经过学习发现,这是一个从未注意过的误区。 以往使用remove的环境是只在循环中删除list中的某一个元素,那样只需在找到特定元素并删除后break出循环即可。 然而当需要在循环总删除多个元素时这种方法就不行了。 当我们在循环中删除某个元素后,list的大...
循环中使用List.remove的坑
如图,如果在遍历ArrayList的时候涉及到remove, 要记得把i--。 因为当remove()执行后所有元素都向前移动了一格,指针不动就已经是下一个了,再i++的话就会漏掉一个元素,切记!!!
在循环中使用continue语句
本教程从初学者角度出发,通过通俗易懂的语言、丰富多彩的案例,详细介绍了使用Java语言进行程序开发需要掌握的知识包括初识Java、Java语言基础、流程控制、类和对象、封装、继承、多态等。所有知识点都结合具体实际案例进行讲解,涉及的程序代码给出了详细的注释,可以让你快速提高开发技能。
JS如何获取PHP循环中的ID
首先抱歉,因为昨天那帖图片几次都不能用,修改到不能再次修改,今天早上回帖又提示没有这个帖,只好重发一次。rnrnrn[img=http://www.game1988.com/data/attachment/album/201112/27/1617551vcvm11lcfvlhegz.jpg][/img]rnrn如图所示:白色数字1,2,3等是从数据库中用PHP查询出来数据,下面66,1,2,5是会员ID。rn想做一个JS效果,当点击的时候,下面蓝色背景弹框的购买编号:1。rn现在只能得到点击得到的都是1,不管点哪一个框,都是同样的结果,并没有得到固定鼠标点击的值。rnrn想得到当我点击白色1,蓝色的背景中编号:1,当点击3的时候,蓝色背景编号是:3rnrnrnrn[code=PHP]rnrn rn $numten[wid] rn rn rn rn $userid[uid] rn rn rn rnrn[/code]rnrn这是discuz中一个循环得到的结果在htm页面输出,得到上一楼白色1,2,3,4,5这样的ID编号。rnrn这是点击上面循环得到ID输出的位置。rn[code=HTML]确定购买编号:[/code]rnrnrn这个是简单的JSrn[code=JScript]rn rn[/code]rnrn点击如上楼的白色数字1,2,3,4,5的数字按钮时,下面lable标签输出点击层的ID值。rnrnrn也查了不少帖,可能是哪一个位置掉了个链子,PHP在页面执行时就得到了这些数字,请高人指点一下。
PHP循环中进度显示以及"假死"
理论上程序应该运行完500次然后才显示成功,但是基本只能运行个十来次页面就开始全白(同时网页中载入的标志也消失了),就不再往下继续执行程序了rn求助这种问题应该如何解决,谢谢rnrn另外,进度方面不知道应该如何处理。再次感谢rnrnrn[code=php]";rn rnrnecho "OK";rn?>[/code]
PHP在循环中执行SQL问题
写了一个for循环来执行插入语句,但是如果在循环中某一次不符合条件要退出循环时,怎么样才能将之前执行的插入取消呢?
php的include和ob函数在循环中导致的
rn程序大概如下rn...rnforeach($arr as $value)rn ob_start();rn include template($value['filename']);rn $message = addslashes(trim(ob_get_contents()));rn ob_end_clean();rnrnrn这种模式执行5000条数据 就会出现rnrn[color=#FF0000] Too many open files[/color]的错误 rnrn如果执行数为1000没有问题rnrn怎么解决啊
php指定在某个循环中插入
在php循环中,指定在某个循环中插入其他,rn比如:循环的结果是:A B C D E F G,想在B和C之间插入3,变成:A B 3 C D E F Grn循环和插入语句怎么写?
List循环中删除元素
普通的循环中是不能删除元素的,如下 import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.StringUtils; import org.junit.Before; import org.junit.Test; public class ListTest { List&amp;lt;...
oracle异常机制(在循环中)
oracle异常机制(在循环中)  入手oracle存储过程不久,一直对他的异常机制半知半解,现在特做一些实验探索oracle异常机制,仅为记录:代码-创建存储过程create or replace procedure AAAA_TEST1 is MY_EXCEPTION1 EXCEPTION;-- 自定义异常1 MY_EXCEPTION2 EXCEPTION;-- 自定义异常2 MY_EXCEPT
循环中的setInterval的问题
rn rnrn似乎i++并非在setInterval之后运行的,请高手赐教,谢谢!
循环中的问题
在循环中能不能使程序处于等待状态,使用户进行若干操作后,再往下执行循环,rn就是如果循环100次,但是在每次中我都要做若干操作,电脑根据我的指令做相应的操作,这个循环怎么写啊?
循环中的界面问题
for (int i = 0; i < m_nFileLength; i++)rnrn m_nBytesSend++;rn UpdateData(FALSE);rn m_DownLoadProgress.SetPos(i);rnrn其中rnm_nFileLength:是文件大小,是个很大的值 > 180000rnm_nBytesSend:和CEdit编辑框控件关联的变量rnm_DownLoadProgress:进度条对象rn为什么在我在进度条跑的时候,点其他的窗口后再回来,整个界面就是白色了,要到循环结束,才能显示界面.应该怎么解决
在循环中嵌套脚本
rn rn.....rn rn.....rn rn这段代码什么意思,为什么加入此代码后速度变的很慢。rn注意,这个Struts循环标签大约循环了1000次,如果有这段代码那么速度就慢,去掉速度就快。
游标循环中if判断语句
[img=http://hi.csdn.net/attachment/201011/1/7744478_12885804209K63.png.thumb.jpg][/img]rnrn@receiver这样在表格中 ,在下面的存储过程中用游标循环,其中在if not exists(select * from MSG_Sentbox where msgTitle=@sentContentrn and Receiver= @str and ActualSendTime >=dateadd(minute,-10,getdate()))rn这里判断的时候,当循环判断到第一个@receiver 在MSG_Sentbox 中已经exists的时候就直接跳出游标的循环了,怎么样才能让它跳过然后继续循环下一个呢?rnrn[code=SQL]rnif exists(select 线路 from Result group by 线路 having count(DISTINCT 号码)>=2) rn --elsern beginrn declare L cursor -- 创建游标 Lrn static rn for select 线路 from Result group by 线路 having count(DISTINCT 号码)>=2rn open L --打开游标rn fetch next from L into @LineNum--提取上次提取行的下一行 rn while(@@fetch_status=0)rn beginrn SET @sentContent='线路' + @LineNum + ':' + '多条塔杆同时收到断电短信,可能为线路停电或电线被盗,请注意确认!'rn declare s cursor -- 创建游标 Srn static rn for select a from dbo.fn_split(@receiver,',')rn open s --打开游标rn fetch next from s into @str --提取上次提取行的下一行rn while(@@fetch_status=0) --循环手机号码,并各自插入到MSG_Outbox中 rn begin rn if not exists(select * from MSG_Sentbox where msgTitle=@sentContentrn and Receiver= @str and ActualSendTime >=dateadd(minute,-10,getdate()))rn -- return -2rn -- elsern beginrn INSERT INTO MSG_Outbox (Receiver,MsgType,MsgTitle,MMSContentLocation,SendTime) VALUES(@str,0,@sentContent,'',getdate())rn fetch next from s into @str rn endrn endrn close s --关闭游标rn deallocate s --删除游标,释放资源 rn fetch next from L into @LineNum rn endrn close L --关闭游标rn deallocate L --删除游标,释放资源rnendrn[/code]rn
循环中的System.Data.SqlClient.SqlDataReade
我有两张表,一张是大项,没有重复,另一张是小项,有重复,每输出一条大项,相应的小项也输出,所以用两层循环,可是System.Data.SqlClient.SqlDataReade只能打开一次,有什么好办法实现两张关联表的查询
循环中的错误处理问题
如以下示例程序:rnPrivate Sub Command1_Click()rn Dim I As Longrn For I = 1 To 10rn On Error GoTo NextLinern rn Err.Raise vbObjectError, , "err " & Irn rnNextLine:rn If Err.Number <> 0 Thenrn Debug.Print Err.Descriptionrn Elsern End Ifrn On Error GoTo 0rn NextrnEnd Subrnrn似乎应该打印出 err1 err2 err3 .... err10 ,但实际上打印出 err1 以后就会抛出一个未处理的错误而导致程序中止,也就是说第一次捕获到错误以后,错误捕获就无法再次捕获错误了,不知道是什么原因,但是如果把 On Error Goto NextLine 改为 On Error Resume Next,则可以捕获到10个错误,请DX指点怎么回事。rn
在'for'循环中获取索引
ints = [8, 23, 45, 12, 78] 当使用循环遍历它时,在这种情况下如何访问循环索引,从1到5? 最普遍的办法是设置索引变量(通常在C或PHP等语言中使用),但这被认为是非python的。 更好的选择是使用Python 2和3中提供的内置函数enumerate() 如果你想获得1-5而不是0-4,则使用start = 1 : for idx, val in e...
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法