>  기사  >  백엔드 개발  >  PHP의 변수 변수(자세한 코드 설명)

PHP의 변수 변수(자세한 코드 설명)

烟雨青岚
烟雨青岚앞으로
2020-06-13 17:03:2718462검색

PHP의 변수 변수(자세한 코드 설명)

php의 변수 변수

때로는 변수 변수 이름을 사용하는 것이 편리할 때가 있습니다. 즉, 변수의 변수 이름을 동적으로 설정하여 사용할 수 있습니다. 일반 변수는 선언을 통해 설정됩니다. 예:

<?php
$a = &#39;hello&#39;;
?>

변수 변수는 일반 변수의 값을 변수 변수의 변수 이름으로 가져옵니다. 위 예시에서는 hello가 두 개의 달러 기호($)를 사용하여 변수 변수로 사용할 수 있습니다.

예제 1:

<?php
$$a = &#39;world&#39;;
?>

이때 두 개의 변수가 정의됩니다. $a의 내용은 "hello"이고 $hello의 내용은 "world"입니다.

예 2:

<?php
echo "$a ${$a}";
?>

은 다음 문과 정확히 동일한 결과를 출력합니다.

<?php
echo "$a $hello";
?>

둘 다 hello world를 출력합니다.

배열과 함께 가변 변수 를 사용하려면 모호성을 해결해야 합니다.

$$a[1]을 작성할 때 파서는 $a[1]을 변수로 원하는지, 아니면 $$a를 변수로 원하는지 알고 변수 [1]의 인덱스를 제거해야 합니다. 값.

이 문제를 해결하기 위한 구문은 첫 번째 경우에는 ${$a[1]}를 사용하고 두 번째 경우에는 ${$a}[1]을 사용하는 것입니다.

클래스 속성은 변경 가능한 속성 이름을 통해서도 액세스할 수 있습니다. 변경 가능한 속성 이름은 호출 범위 내에서 확인됩니다. 예를 들어 $foo->$bar 표현식의 경우

는 $bar를 로컬 범위에서 구문 분석하고 해당 값은 $foo의 속성 이름으로 사용됩니다.

$bar가 배열 단위인 경우에도 마찬가지입니다.

중괄호를 사용하여 속성 이름을 명확하게 구분할 수도 있습니다. 속성이 배열에 있거나 속성 이름에 여러 부분이 포함되어 있거나 속성 이름에 잘못된 문자(예: json_decode() 또는 SimpleXML)가 포함된 경우 가장 유용합니다.

예:

<?php
class foo {
    var $bar = &#39;I am bar.&#39;;
    var $arr = array(&#39;I am A.&#39;, &#39;I am B.&#39;, &#39;I am C.&#39;);
    var $r   = &#39;I am r.&#39;;
}
$foo = new foo();
$bar = &#39;bar&#39;;
$baz = array(&#39;foo&#39;, &#39;bar&#39;, &#39;baz&#39;, &#39;quux&#39;);
echo $foo->$bar . "
";
echo $foo->$baz[1] . "
";
$start = &#39;b&#39;;
$end   = &#39;ar&#39;;
echo $foo->{$start . $end} . "
";
$arr = &#39;arr&#39;;
echo $foo->$arr[1] . "
";
echo $foo->{$arr}[1] . "
";
?>

위 루틴은 output:

I am bar.
I am bar.
I am bar.
I am r.
I am B.

읽어주셔서 감사합니다. 변수 변수에 대해 배웠기를 바랍니다.

이 기사는 다음에서 복제되었습니다: https://www.cnblogs.com/ryanzheng/p/9133381.html

추천 튜토리얼: "php 튜토리얼"

위 내용은 PHP의 변수 변수(자세한 코드 설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51dev.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제