2013-07-05 3 views
-5

좋아, 그래서 내가 맞는 줄 일부 코드가 있습니다. 기능 에코 대 돌아 가기

자체가 다른 코드에서 선언 된 변수 기능을 d($z);

$의 Z를 호출합니다.

이 작동하지 않습니다

function d($x1){ 
$distance = $x1; 
return $distance; 
} 

이 작동 :

function d($x1){ 
$distance = $x1; 
echo $distance; 
} 

어떤 아이디어 왜?

참고 : 값을 반향하지 않으려합니다. 변수로 나중에이 값을 사용할 수 있기를 원하며, 반드시 화면에 출력 할 필요는 없습니다. (위의 내용은 단순화 된 버전으로, 실제로 수행하고 싶은 작업이 많이 삭제되었지만 위의 작업도 올바르게 반환되지 않습니다.)

내가 원하는 것은 아니지만 내가 <?=$distance?> 반환 함께 작동하지 않으면 내부 변수로 $ 거리의 결과를 (반향하지) 사용하고 싶습니다.

+2

함수를 호출하는 코드를 보여줍니다. 결과를 변수에 지정합니까? – Barmar

+1

d()를 어떻게 부르십니까? 나머지 코드는 게시하십시오. – Gustavo

+0

무엇을 제대로 반환하지 않습니까? 당신은 우리에게 더 많은 세부 사항을 주어야합니다. 어떻게 사용 되는가 등? – Prix

답변

1

는 (아마) 문제 수 2 있습니다

  1. 당신은

    또는

  2. 당신은 변수에 반환을 할당되지 않은 함수에 올바른 값을 전달하지 않습니다 (예 $value = d("some value here");.)

편집 : 위조하지 마십시오 t $ (저장된 값)을 에코합니다.

+0

이상한 ... 내가 편집하러 갔을 때, 2라고 쓰고 (나는 2라고 맹세한다.), 여전히 1을 출력한다. 뭐라구? –

+1

@Barmar 그는 실제로 그것을 썼다. 그러나 그것이 일어날 수있는 공간을 추가하는 것을 잊었다. – Prix

0

둘 다 예상대로 작동합니다.

먼저 예에서는

function d($x1) 
{ 
     $distance = $x1; 
     return $distance; 
} 

echo d(5); 

에 함수 D

변경은 값을 표시하지 않고, 그것을 표시한다.

두 번째 경우 값을 반환하지 않아 함수가 무효화되지만 함수 d() 안에 거리가 표시되므로 표시됩니다.