2017-01-15 2 views
0

저는 PHP를 처음 사용하고 버전 5.6을 사용하고 있습니다. 간접 참조를 사용하는 경우 unset()의 기능을 이해하려고합니다. unset() 이전 변수가 사용하는 메모리를 값에 대한 다른 변수 참조가없는 경우 사용 가능 메모리를 설정합니다. 내 코드 unset() 잘 작동하고 false를 반환합니다. 그러나 변수에 대한 간접 참조를 사용할 때 여전히 false를 반환합니다.PHP에서 간접 참조를 사용하여 unset() 작업을 이해할 수 없습니다.

$a = "x"; 
$$a = 'Value of $$a'; // creates a variable called $x 
         // because the literal value of $a = 'x' 
         // think about it as: ${$a} 

echo $$a . "<br>"; // 'Value of $$a' 
echo $x . "<br>"; // 'Value of $$a' 

unset($a); 

echo $a . "<br>"; // Notice: Undefined variable 
echo $$a . "<br>"; // Notice: Undefined variable - because {$a} has been unset 
echo $x . "<br>"; // 'Value of $$a' - $x has not been unset 
+0

그리고 무엇을 : 여기

//unsetting the variable $unset_var="darsh"; //Indirect refernces to variables $$unset_var="new to PHP"; echo "\n\n".$darsh; unset($unset_var); if(isset($unset_var)) { print "<br>".'$unset_var variable is not free to use'; } else { print "<br>".'$unset_var variable is free to use'; } 

답변

0

아마이 도움이 될 것입니다 ... 내 코드? 간접 참조는 어디에 있습니까?
관련 문제