찾다

 >  Q&A  >  본문

PHP에서 동적 변수 이름에 중괄호 사용

<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粉717595985P粉717595985442일 전471

모든 응답(2)나는 대답할 것이다

  • P粉588660399

    P粉5886603992023-08-30 10:02:10

    개요

    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']()

    회신하다
    0
  • P粉043295337

    P粉0432953372023-08-30 09:41:31

    포장해 주세요 {}:

    으아악

    작업 예시


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

    으아악

    회신하다
    0
  • 취소회신하다