php foreach

WBOY
풀어 주다: 2016-07-28 08:30:20
원래의
1223명이 탐색했습니다.

在PHP开发中,我们经常会迭代一个数组,并且修改其中的元素的值,如果我们有其它语言的经验,那么这里我们很可能就会出错。

就拿java来说,因为我对java还是比较熟悉的,在java中我们迭代一个数组,并修改其值,我们会采用如下方法:

	<span>	</span>for(Object item : objectArray){
		<span>	</span>item.setAttribute('value');
	<span>	</span>}
로그인 후 복사

上面的代码没问题,一切都按照我们期望的来。直到我到了PHP,这几天在做一个小项目,结果发现使用和上面类似的方法修改了元素的值,竟然不起作用!使用的代码如下:
		foreach($arrays as $item){
			$item->name = 'value';	
		}
		echo $arrays[0]->name;
로그인 후 복사

我发现输出出来的竟然是未修改之前的!

经过一番调试之后,最后猜想是不是上面的代码传的是值,而不是引用。于是去官网查看文档,发现竟然真的是这样,于是我修改代码成下面这样:

		foreach($arrays as &$item){
			$item->name = 'value';	
		}
		echo $arrays[0]->name;
로그인 후 복사
或者是这样:
		foreach($arrays as $key=>$item){
			$arrays[$key]->name = 'value';	
		}
		echo $arrays[0]->name;
로그인 후 복사
这两种方法运行结果都OK。于是,觉得官方文档应该多读读。当初只是大体过了一遍,并没有真正读透,就开始做项目。

参考资料:

PHP官网对foreach的解释:http://php.net/manual/en/control-structures.foreach.php

更多干货,请关注微信公众号:开发and生活

以上就介绍了 php foreach,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!