Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP 변수 변수

<시간/>

소개

PHP에서는 변수 이름을 동적으로 설정할 수 있습니다. 이러한 변수는 기존 변수의 값을 이름으로 사용합니다. 변수 변수는 접두사로 두 개의 $ 기호로 정의됩니다.

예시

<?php
$var1="xyz"; //normal variable
$$var1="abcd";//variable variable
echo $var1 . "\n";
echo $$var1 . "\n";
echo "{$$var1} $xyz";
?>

출력

이 스크립트는 다음 출력을 생성합니다.

xyz
abcd
abcd abcd

$$var1의 값은 $xyz와 동일하며 xyz는 $var1의 값입니다.

일반 변수의 수치는 변수 변수로 사용할 수 없습니다.

예시

<?php
$var1=100; //normal variable
$$var1=200;//variable variable
echo $var1 . "\n";
echo $$var1 . "\n";
echo $100;
?>

출력

이 스크립트가 실행되면 다음과 같은 결과가 표시됩니다.

PHP Parse error: syntax error, unexpected '100' (T_LNUMBER), expecting variable (T_VARIABLE) or '{' or '$' line 6

배열 첨자로 변수 변수를 정의하는 것도 가능합니다. 다음 예에서는 일반 배열의 0번째 요소를 사용하여 변수 변수를 정의합니다.

예시

<?php
$var1=array("aa","bb"); //normal variable
${$var1[0]}=10;//variable variable with array element
echo $var1[0] . "\n";
echo $aa . "\n";
echo ${$var1[0]} . "\n";
?>

출력

이것은 다음 결과를 생성합니다 -

aa
10
10

클래스 속성은 변수 속성 이름을 사용하여 액세스할 수도 있습니다. 이 기능은 속성 이름이 배열로 구성된 경우에 유용합니다.

예시

<?php
var $u = "Architecture";
var $ugCourses = array("CSE","MECH","CIVIL");
$obj = new branches();
$courses = "ugCourses";
echo $obj->{$courses[0]} . "\n";
echo $obj->{$courses}[0] . "\n";
?>

출력

이것은 다음 결과를 생성합니다 -

Architecture
CSE