2010-05-11 3 views
1

수 있습니다. 값으로 변수를 전달하는 방법을 알려주십시오. 내가 아래의 코드에 실수를 한 일, 자사의 보여주는 구문 분석 오류 값을 기준으로PHP를 사용하여 값으로 변수를 전달하면

 
$a = &$$b 
+1

$ a = '&$$b';? 나는 당신이 무엇을 성취하려고하는지 확신하지 못합니다. 귀하의 답변에 대해 –

답변

2

은 따라하기 조금 어려울 수도 있지만, 코드가 완벽하게 유효하고 당신이하고 싶은 일을한다 : $ (B)가 설정되어 있기 때문에 당신은 가능성이 오류를 얻고있다

$b = 'test'; 
$test = 100; 
$a = &$$b; 
echo $a; // displays 100 

.

+0

감사합니다. –

1

합격은 PHP의 정상적인 동작입니다. 따라서 $a = $b이라고 쓰면 $b의 값은 $a으로 지정됩니다.

작성한 내용은 $b (variable variable 참조)으로 식별되는 변수에 대한 참조로 $a을 선언하는 참조 지정입니다.

0

값으로 전달 하시겠습니까?

내부적으로 php는 항상 참조로 전달됩니다. 값을 할당하거나 변경할 때만 PHP가 새 메모리를 할당합니다. 예를 들어

:

$a = 5; 
$b = $a; // this points to the same memory location as a 
$a = 2; // now b still points to the same memory location which has 5, but now $a points to a new location with a value of 2 

그래서 참조/값 통과 할 필요가 정말 없다. PHP가 동일한 메모리 위치에 값을 할당하고 새 메모리를 할당하지 않도록하려면 참조 표시기 (&) 만 추가하면됩니다.

관련 문제