백엔드 개발 PHP 튜토리얼 PHP中的&传值引用的有关问题,在foreach循环的结果能帮解释下输出的结果原理是什么

PHP中的&传值引用的有关问题,在foreach循环的结果能帮解释下输出的结果原理是什么

Jun 13, 2016 pm 12:29 PM
amp foreach one

PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么?

PHP中的&传值引用的问题,在foreach循环的结果能帮解释下输出的结果原理是什么? <br />代码如下: <br /><?php <br />$arr = array('one','two','three'); <br />foreach ($arr as &$value){ echo 'Value:'.$value.'<br />'; } <br />foreach ($arr as $value){ echo 'Value:'.$value.'<br />'; } <br />?><br />输出结果:<br /> Value:one<br /> Value:two <br /> Value:three <br /><br /> Value:one <br /> Value:two <br /> Value:two
로그인 후 복사
<br />第一次带&的foreach并没有改变数组的内容。。<br />而是最后一次循环$value引用了数组的最后一个项 (可以测试一下,在第一次循环结束后unset($value),第二次循环的结果就不会有变化),<br />在你第二个foreach也是使用的$value变量,这才造成了怪异的问题(可以换个变量,比如$val,输出的数组就不会有变化)。<br />第二个foreach是赋值给$value,但是这时的$value是引用的数组的最后一个值,<br />所以<br />第一次循环把one赋值给了最后一个值,<br />第二次把two赋值给最后一个,<br />第三次也就是最后一个已经在第二次循环被赋值为two,所以仍然是two。
로그인 후 복사

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Java ArrayList를 순회할 때 요소를 삭제하기 위해 foreach와 iterator를 사용하는 것의 차이점은 무엇입니까? Java ArrayList를 순회할 때 요소를 삭제하기 위해 foreach와 iterator를 사용하는 것의 차이점은 무엇입니까? Apr 27, 2023 pm 03:40 PM

1. Iterator와 foreach의 차이점은 다형성 차이입니다(foreach의 맨 아래 레이어는 Iterator입니다). Iterator는 인터페이스 유형이므로 컬렉션 유형이나 배열에 관심이 없습니다. for와 foreach 모두 컬렉션 유형을 알아야 합니다. 1. foreach의 최하위 레이어가 Iterator에 의해 작성된 코드라고 말하는 이유: 디컴파일된 코드: 2. foreach와 iterator에서 제거의 차이점을 살펴보세요. Alibaba Java Development Manual, 그러나 1번의 경우에는 오류가 보고되지 않으며, 2번의 경우(java.util.ConcurrentModificationException) 먼저 오류가 보고됩니다.

PHP에서 foreach 루프 수를 결정하는 방법 PHP에서 foreach 루프 수를 결정하는 방법 Jul 10, 2023 pm 02:18 PM

​PHP가 foreach 루프 수를 결정하는 단계: 1. "$fruits" 배열을 만듭니다. 2. 초기 값이 0인 카운터 변수 "$counter"를 만듭니다. 3. "foreach"를 사용하여 루프를 만듭니다. 배열을 통해 루프 본문의 카운터 변수 값을 늘린 다음 각 요소와 해당 인덱스를 출력합니다. 4. "foreach" 루프 외부에 카운터 변수 값을 출력하여 루프가 도달하는 요소를 확인합니다.

PHP는 키가 뒤집힌 배열을 반환합니다. PHP는 키가 뒤집힌 배열을 반환합니다. Mar 21, 2024 pm 02:10 PM

이 기사에서는 키 값을 뒤집은 후 PHP가 배열을 반환하는 방법을 자세히 설명합니다. 편집자는 이것이 매우 실용적이라고 생각하므로 이 기사를 읽고 뭔가를 얻을 수 있기를 바랍니다. PHP 키 값 뒤집기 배열 키 값 뒤집기는 배열의 키와 값을 교환하여 원래 키를 값으로, 원래 값을 키로 사용하여 새 배열을 생성하는 배열 작업입니다. 구현 방법 PHP에서는 다음 방법을 통해 배열의 키-값 뒤집기를 수행할 수 있습니다. array_flip() 함수: array_flip() 함수는 키-값 뒤집기 작업에 특별히 사용됩니다. 배열을 인수로 받고 키와 값이 교환된 새 배열을 반환합니다. $original_array=[

Apple 구독을 취소하는 방법 Apple 구독을 취소하는 방법 Oct 31, 2023 pm 11:13 PM

iPhone, iPad 또는 Mac에서 AppleOne(예: AppleOne) 구독은 물론 타사 AppStore 구독도 쉽게 취소할 수 있습니다. Apple은 AppleMusic, AppleTV+, AppleArcade, iCloud+, AppleNews+ 및 AppleFitness+를 포함하여 Apple 기기 소유자가 구독할 수 있는 다양한 서비스를 제공합니다. 또한 Apple One이라는 번들 구독으로 이러한 서비스를 제공합니다. Apple은 2023년 3월 Apple TV+, Apple Arcade 및 기타 서비스를 포함한 여러 서비스에 대해 상당한 가격을 인상했습니다.

Trezor Cold Wallet: Model One 및 Model T 기능 및 사용 가이드 Trezor Cold Wallet: Model One 및 Model T 기능 및 사용 가이드 Jan 19, 2024 pm 04:12 PM

많은 중앙화된 거래소에서 문제가 발생한 후 점점 더 많은 통화 투자자들이 중앙화된 거래소에서 발생하는 위험을 줄이기 위해 자산을 콜드 지갑으로 이전하기 시작했습니다. 이 글에서는 세계 최초의 콜드월렛 제공업체인 Trezor를 소개하겠습니다. 2014년 최초의 콜드월렛이 출시된 이후 전 세계 여러 나라에서 판매되고 있습니다. Trezor의 제품에는 2014년에 출시된 Model One과 2018년에 출시된 고급 버전인 Model T가 포함됩니다. 다음에서는 계속해서 이 두 제품과 다른 콜드월렛의 차이점을 소개하겠습니다. Trezor 콜드월렛이란 무엇인가요? 2014년 Trezor는 최초의 콜드 지갑 ModelOne을 출시했습니다. 일반적인 BTC, ETH, USDT 및 기타 통화 외에도 지갑은 1,000개 이상의 다른 통화도 지원합니다.

AMP는 어떤 코인인가요? AMP는 어떤 코인인가요? Feb 24, 2024 pm 09:16 PM

AMP 코인이란 무엇입니까? AMP 토큰은 Synereo 플랫폼의 주요 거래 통화로 2015년 Synereo 팀에 의해 만들어졌습니다. AMP 토큰은 다양한 기능과 용도를 통해 사용자에게 더 나은 디지털 경제 경험을 제공하는 것을 목표로 합니다. AMP 토큰의 목적 AMP 토큰은 Synereo 플랫폼에서 다양한 역할과 기능을 가지고 있습니다. 첫째, 플랫폼의 암호화폐 보상 시스템의 일부로서 사용자는 콘텐츠를 공유하고 홍보함으로써 AMP 보상을 얻을 수 있으며, 이는 사용자가 플랫폼 활동에 보다 적극적으로 참여하도록 장려하는 메커니즘입니다. AMP 토큰은 Synereo 플랫폼에서 콘텐츠를 홍보하고 배포하는 데에도 사용할 수 있습니다. 사용자는 AMP 토큰을 사용하여 더 많은 시청자가 보고 공유하도록 유도함으로써 플랫폼에서 콘텐츠의 가시성을 높일 수 있습니다.

PHP는 배열의 현재 요소를 반환합니다. PHP는 배열의 현재 요소를 반환합니다. Mar 21, 2024 pm 12:36 PM

이 기사에서는 PHP가 반환하는 배열의 현재 요소에 대해 자세히 설명할 것입니다. 편집자는 이것이 매우 실용적이라고 생각하므로 이 기사를 읽고 뭔가를 얻을 수 있기를 바랍니다. PHP 배열의 현재 요소 가져오기 PHP는 배열의 현재 요소 가져오기를 포함하여 배열에 액세스하고 조작하기 위한 다양한 방법을 제공합니다. 다음은 일반적으로 사용되는 몇 가지 기술을 소개합니다. 1. current() 함수 current() 함수는 배열의 내부 포인터가 현재 가리키는 요소를 반환합니다. 포인터는 처음에 배열의 첫 번째 요소를 가리킵니다. 다음 구문을 사용하십시오. $currentElement=current($array);2.key() 함수 key() 함수는 현재 요소를 가리키는 배열 내부 포인터를 반환합니다.

foreach와 for 루프의 차이점은 무엇입니까 foreach와 for 루프의 차이점은 무엇입니까 Jan 05, 2023 pm 04:26 PM

차이점: 1. for는 인덱스를 통해 각 데이터 요소를 반복하는 반면 forEach는 JS 기본 프로그램을 통해 배열의 데이터 요소를 반복합니다. 2. for는 break 키워드를 통해 루프 실행을 종료할 수 있지만 forEach는 그렇지 않습니다. for는 루프 변수의 값을 제어하여 루프 실행을 제어할 수 있지만 forEach는 루프 외부에서 루프 변수를 호출할 수 없지만 forEach는 루프 외부에서 루프 변수를 호출할 수 없습니다. forEach보다 높습니다.

See all articles