Foreach 루프를 사용하여 배열 값 수정
코드에서 foreach 루프를 사용하여 $bizaddarray를 반복하고 각 값을 수정합니다. Strip_tags, ucwords 및 strtolower 함수를 사용하여 값을 지정합니다. 그러나 나중에 배열을 문자열로 변환하면 HTML 태그가 여전히 존재하는 것으로 보입니다. 이는 foreach 루프가 기본적으로 배열 요소의 복사본을 생성하므로 해당 복사본에 대한 변경 사항이 원본 배열에 반영되지 않기 때문입니다.
값 직접 수정
변경 사항을 영구적으로 적용하려면 원래 배열의 값을 직접 수정해야 합니다. 이를 달성하는 방법에는 두 가지가 있습니다.
방법 1: 메모리 참조 사용
이 방법에는 & 연산자를 사용하여 원래 배열 값에 대한 참조를 얻는 작업이 포함됩니다. 이 참조를 통해 변경한 내용은 원본 배열의 해당 요소를 직접 수정합니다.
foreach ($bizaddarray as &$value) { $value = strip_tags(ucwords(strtolower($value))); } unset($value); // Remove the reference to prevent unintended modifications
방법 2: 소스 배열 사용
이 방법에는 $key 변수를 사용하는 소스 배열 요소. 이 요소를 통해 변경한 내용은 원래 배열도 업데이트합니다.
foreach ($bizaddarray as $key => $value) { $bizaddarray[$key] = strip_tags(ucwords(strtolower($value))); }
이러한 방법 중 하나를 사용하면 HTML 태그가 배열 값에서 영구적으로 제거되어야 하며 문자열에 반영됩니다. 변환합니다.
위 내용은 Foreach 루프에서 배열 값을 수정하면 작동하지 않는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!