php의 변수 변수
때로는 변수 변수 이름을 사용하는 것이 편리할 때가 있습니다. 즉, 변수의 변수 이름을 동적으로 설정하여 사용할 수 있습니다. 일반 변수는 선언을 통해 설정됩니다. 예:
<?php $a = 'hello'; ?>
변수 변수는 일반 변수의 값을 변수 변수의 변수 이름으로 가져옵니다. 위 예시에서는 hello가 두 개의 달러 기호($)를 사용하여 변수 변수로 사용할 수 있습니다.
예제 1:
<?php $$a = 'world'; ?>
이때 두 개의 변수가 정의됩니다. $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 = 'I am bar.'; var $arr = array('I am A.', 'I am B.', 'I am C.'); var $r = 'I am r.'; } $foo = new foo(); $bar = 'bar'; $baz = array('foo', 'bar', 'baz', 'quux'); echo $foo->$bar . " "; echo $foo->$baz[1] . " "; $start = 'b'; $end = 'ar'; echo $foo->{$start . $end} . " "; $arr = 'arr'; 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!