PHP에서 동적 변수 이름에 중괄호 사용
P粉717595985
P粉717595985 2023-08-29 12:05:01
0
2
482
<p>동적 변수 이름을 사용하려고 하는데(실제로 이름이 무엇인지 잘 모르겠습니다) 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;">for($i=0; $i<=2; $i++) { $("파일" . $i) = 파일($filelist[$i]); } var_dump($file0);</pre> <p>는 <code>null</code>을 반환하는데 이는 작동하지 않는다는 것을 의미합니다. 내가 찾고 있는 구문이나 기술이 무엇인지 모르기 때문에 연구가 어렵습니다. <code>$filelist</code>는 이전에 정의되었습니다. </p>
P粉717595985
P粉717595985

모든 응답(2)
P粉588660399

개요

PHP에서는 변수 앞에 $만 추가하면 변수를 동적으로 만들 수 있습니다.

으아악

권장하지는 않지만 다음 동작을 연결할 수도 있습니다.

으아악

다음 사이에 $variableName 放在 {}를 배치할 수 있지만 필수는 아닙니다.

으아악

{} 사용은 변수 이름 자체가 다음과 같이 여러 값의 조합인 경우에만 강제됩니다.

으아악

그러나 가독성이 더 높으므로 항상 {}를 사용하는 것이 좋습니다.

PHP5와 PHP7의 차이점

항상 사용하는 또 다른 이유{}는 PHP5와 PHP7이 동적 변수를 약간 다르게 처리하여 경우에 따라 다른 결과가 발생할 수 있다는 것입니다.

PHP7에서는 이제 동적 변수, 속성 및 메서드가 PHP5의 혼합된 특수 사례가 아닌 왼쪽에서 오른쪽으로 엄격하게 평가됩니다. 다음 예에서는 평가 순서가 어떻게 변경되는지 보여줍니다.

상황 1:$$foo['bar']['baz']

  • PHP5 설명:${$foo['bar']['baz']}
  • PHP7 설명:${$foo}['bar']['baz']

시나리오 2:$foo->$bar['baz']

  • PHP5 설명:$foo->{$bar['baz']}
  • PHP7 설명:$foo->{$bar}['baz']

상황 3:$foo->$bar['baz']()

  • PHP5 설명:$foo->{$bar['baz']}()
  • PHP7 설명:$foo->{$bar}['baz']()

상황 4:Foo::$bar['baz']()

  • PHP5 설명:Foo::{$bar['baz']}()
  • PHP7 설명:Foo::{$bar}['baz']()
P粉043295337

포장해 주세요 {}:

으아악

작업 예시


${}를 사용하는 것은 동적 변수를 생성하는 방법입니다. 간단한 예는 다음과 같습니다.

으아악
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿