$v){ $array[$k] = 1;}"을 통해 배열 값을 수정합니다. 방법."/> $v){ $array[$k] = 1;}"을 통해 배열 값을 수정합니다. 방법.">

>백엔드 개발 >PHP 문제 >PHP foreach에서 배열 값을 수정하는 방법

PHP foreach에서 배열 값을 수정하는 방법

藏色散人
藏色散人원래의
2020-07-31 09:36:204488검색

PHP foreach에서 배열 값을 수정하는 방법: 먼저 PHP 코드 샘플 파일을 만든 다음 "foreach($array as $k => $v){ $array[$k] = 1을 통해 배열 값을 수정합니다. ;}" 메소드 그게 전부입니다.

PHP foreach에서 배열 값을 수정하는 방법

추천: "PHP 비디오 튜토리얼"

PHP에서 배열 값을 변경하기 위해 foreach를 사용할 때의 문제

PHP 문서의 foreach 페이지로 가서 다음을 작성하세요:

"foreach 구문 구조는 배열을 반복하는 간단한 방법을 제공합니다. foreach는 배열과 객체에만 적용할 수 있습니다. 다른 데이터 유형의 변수나 초기화되지 않은 변수에 적용하려고 하면 다음 두 가지 구문이 있습니다.

foreach (array_expression as $value)
    statement
foreach (array_expression as $key => $value)
    statement

첫 번째 형식은 지정된 array_expression 배열을 통과합니다. 각 루프에서 현재 셀의 값은 $value에 할당되고 배열 내부의 포인터는 한 단계 앞으로 이동합니다(따라서 다음 셀은 다음 루프에서 얻어집니다).

두 번째 형식은 현재 유닛의 키 이름이 각 루프의 변수 $key에도 할당된다는 점을 제외하면 동일합니다. "

그런 다음" 첫 번째 형식은 각 루프에서 지정된 array_expression 배열을 순회합니다. . 값이 $value에 할당되고 배열 내부의 포인터가 한 단계 앞으로 이동합니다(따라서 루프의 다음 요소를 얻습니다). 즉, foreach를 사용하여 배열을 탐색하면 배열 자체가 아닌 지정된 배열의 복사본에서 작동합니다. 당신의 복제물이 있는 것과 마찬가지로, 다른 사람들이 당신의 복제물을 어떻게 때리고 걷어차더라도 그것은 당신에게 아무런 영향을 미치지 않습니다.

예:

foreach($array as $k => $v){
  $v = 1;
}

이러한 수정 방법은 $array 자체를 수정하는 것이 아니라 복사하는 배열을 수정하는 것입니다. 따라서 $array에는 영향을 미치지 않습니다.

그럼 어떻게 해야 할까요? 이렇게 하려면:

foreach($array as $k => $v){
  $array[$k] = 1;
}

$k와 $v도 복사되지만 복사된 $k의 값은 여전히 ​​원래 배열의 $k 값과 동일하므로 성공합니다.

더 고급 방법도 있습니다. $v 앞에 &를 추가하여 배열 요소를 쉽게 수정할 수 있습니다. 이 방법은 값을 복사하는 대신 참조로 할당합니다. 예:

foreach($array as &$v){
  $v = 1;
}
unset($v); // 最后取消掉引用

이것은 성공할 것입니다.

위 내용은 PHP foreach에서 배열 값을 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.