테스트 사이트 - 개발 중인 베타 버전입니다

함수밖에서 변수 쓰기? 채택완료

재아 3년 전 조회 2,028

abcd함수를 만들었고요 질문입니다.

 

function abcd($nick) {

$nick2 = $nick."님";

$kkk = "안녕";

return $nick2;

}

 

echo abcd("홍길동");

 

// 결과는  홍길동님 나오겠죠~

근데 위에 사용자정의 함수에 들어있는 $kkk 값을 함수 밖에서 쓸수 없는지 해서요~

배열로 해야할지>

 

abcd 함수에 nick  값을 넣고 거기에 님을 붙여서 retun 하게 했습니다.

여기서 $kkk 값을 밖에서 또 쓸수 없나요?

 

질문이 맞는건지, 착각하여 해깔리는건지 멘붕이 와서 갑자기 ㅠ

 

댓글을 작성하려면 로그인이 필요합니다.

답변 9개

채택된 답변
+20 포인트
Policia
3년 전

global 는 지금상황에선 추천드리지 않구요

저는 이방식으로 접근하는게 좋을듯합니다

 

function abcd($nick) {

  $value = array(

    'nick2' => $nick."님",

    'kkk' => "안녕",

  );

  return $value;

}

 

//출력

$abcd = abcd("홍길동");

 

echo $abcd['nick2']; // 홍길동님

echo $abcd['kkk']; // 안녕

 

이런식으로 배열로 담아서 return해주고 받아와서 쓰면될것같네요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

재아
3년 전
답변감사합니다.~

배열에 넣는 방식이 가장 좋을것 같습니다.~

다른분들도 답변 많은 도움이 되었습니다.~

댓글을 작성하려면 로그인이 필요합니다.

메리7
3년 전

전역변수 여기저기서 끌어오면 나중에 어디서 가져온건지도 모르고 고치기 힘듭니다.

클래스면 클래스이름이 붙어있겠지만 그게아니면 ㅠ

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플래토
3년 전

원하시는게 포인터같은 변수를 원하시는거라면

 

</p>

<p>function abcd($nick) {</p>

<p>   $nick2 = $nick."님";</p>

<p>   $kkk = "안녕";</p>

<p>   return $nick2;</p>

<p>}</p>

<p>//이 내용을</p>

<p>//다음과같이 변경해보세요</p>

<p>function abcd($nick, &$kkk='') {</p>

<p>   $nick2 = $nick."님";</p>

<p>   $kkk = "안녕";</p>

<p>   return $nick2;</p>

<p>}</p>

<p>echo $kkk;</p>

<p>// 해보시면 원하시는 내용이 아닐까 싶네요</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플라이
3년 전

function 안에서 만든 함수를 return을 통해 전송을 하지 않으면 적용이 불가합니다.
위에 말씀하셨듯이 global로 외부의 변수를 호출해서 가져와 적용하는 방식외에는 불가한 부분입니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

한 페이지에 있다면 global $변수; 로 땡겨올수 있습니다.

단 지역변수가 먼저 선언되어야 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

재아
3년 전
감사합니다~

댓글을 작성하려면 로그인이 필요합니다.

세크티
3년 전

$kkk는 지역변수입니다. 저 상황에서 지역변수를 전역공간에서 쓰는건 불가능합니다. $kkk를 전역벽수로 넣고 함수내에서 global로 불러오거나, 특정방법으로 전역에서 할당해놓거나 하지 않는 이상 불가능해요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

재아
3년 전
아 네엡

댓글을 작성하려면 로그인이 필요합니다.

근데 위에 사용자정의 함수에 들어있는 $kkk 값을 함수 밖에서 쓸수 없는지 해서요~

==> 반대로 생각하셔야 합니다. 밖에 있는 변수를 함수 안에서 쓴다"라고요.

function abcd( $nick) {

global $kkk;

...

추천하는 방식은 아닙니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

엑스엠엘
3년 전
아니면 class를 만드는 방법도 있습니다.
method( class 안에 함수)를 통해서 class 안에 있는 변수 값을 가져오거나 지정합니다.
재아
3년 전
global 를 통하여 밖에 있는 변수를 함수내로 가져와서 쓰는건는 사용을 했는데요~
반대로 내에서 만들어진 변수를 밖에서 쓰는게 가능했었던가? 이런생각이 갑자기 들어서 ㅋ
엑스엠엘
3년 전
그게 class에서 간접적으로 하는 겁니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인