> 백엔드 개발 > PHP 튜토리얼 > & 및 연산자 참조 할당을 사용할 때 주의해야 할 야외 조사 PHP foreach 문제

& 및 연산자 참조 할당을 사용할 때 주의해야 할 야외 조사 PHP foreach 문제

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-07-29 08:41:51
원래의
949명이 탐색했습니다.

foreach는 다음과 같이 $value 앞에 &를 추가하여 배열 요소를 쉽게 수정할 수 있습니다.
PHP 코드

코드 복사 코드는 다음과 같습니다.


foreach($arr as $value){
$value .= '4'
}


그러나 이 사용법도 쉽게 발생합니다. 오류도 있고 찾기도 쉽지 않습니다.
예제를 보면 더 간단해집니다.
PHP 코드

코드 복사 코드는 다음과 같습니다.


$arr = array('a','b','c')
$arr2 = array('d', 'e', ​​​​'f' );
foreach($arr as $ value){//$value 또는 $val을 사용하는 데 사용됩니다.
$value .= '4'}
//모든 것이 처리된 후 페이지 템플릿에 출력하고, 먼저 $arr2를 출력합니다.
foreach( $arr2 as $value){//$value 또는 $val을 사용하는 데 사용됩니다.
//echo $value; /그런 다음 $arr를 다음과 같이 출력합니다.
foreach($arr as $ value){//$value 또는 $val을 사용하는 데 사용됩니다.
echo $value, "n"}
?> ;


출력 결과가 예상과 일치하는지 확인해 보겠습니다. 결과는 다음과 같습니다.


코드 복사

코드는 다음과 같습니다.XML/HTML 코드a4

b4

b4


인용으로 인한 문제입니다.
foreach($arr as &$value)가 배열을 끝까지 순회할 때 참조 관계가 깨지지 않습니다. 이는 $value 및 $arr의 마지막 단위인 $arr[2에 대한 참조와 동일합니다. ].
foreach($arr2 as $value)로 가면 $value의 값은 항상 배열 단위의 값으로 변경되므로 참조 관계가 깨지지 않으므로 $arr[2]의 값도 그에 따라 변경됩니다. $arr2가 탐색될 때까지 $value의 값은 f이므로 $arr[2]의 값도 f입니다.

$arr 값은 다음과 같아야 합니다.
XML/HTML 코드



코드 복사

코드는 다음과 같습니다. 배열 (

[0] => a4

[1] => b4
[2] => f
)


이것은 우리가 보는 최종 출력과 다릅니다. 그런 다음 foreach($arr as $value)로 이동합니다. 마찬가지로 $arr[2]의 값도 $value로 변경됩니다. 즉, $arr[1], $arr[2 ] 값은 $arr[1]의 값, 즉 b4가 됩니다. 그런 다음 키가 2일 때 $arr[2]의 값은 $arr[2]의 값인 b4가 됩니다. 출력한 결과입니다.
따라서 foreach에서 참조를 사용할 때는 주의하세요. 처리 후 즉시 참조 관계를 끊어서 나중에 위와 같은 상황이 발생하지 않도록 할 수도 있습니다.
PHP 코드




코드 복사

코드는 다음과 같습니다.foreach($arr as $value){ $ 값 .= '4'

}

설정 해제($value)


위 내용은 야외연구 내용을 포함하여 PHP foreach에서 & 및 연산자 참조 할당을 사용할 때 주의해야 할 사항을 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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