abcd함수를 만들었고요 질문입니다.
function abcd($nick) {
$nick2 = $nick."님";
$kkk = "안녕";
return $nick2;
}
echo abcd("홍길동");
// 결과는 홍길동님 나오겠죠~
근데 위에 사용자정의 함수에 들어있는 $kkk 값을 함수 밖에서 쓸수 없는지 해서요~
배열로 해야할지>
abcd 함수에 nick 값을 넣고 거기에 님을 붙여서 retun 하게 했습니다.
여기서 $kkk 값을 밖에서 또 쓸수 없나요?
질문이 맞는건지, 착각하여 해깔리는건지 멘붕이 와서 갑자기 ㅠ
답변 9개 / 댓글 6개
global 는 지금상황에선 추천드리지 않구요
저는 이방식으로 접근하는게 좋을듯합니다
function abcd($nick) {
$value = array(
'nick2' => $nick."님",
'kkk' => "안녕",
);
return $value;
}
//출력
$abcd = abcd("홍길동");
echo $abcd['nick2']; // 홍길동님
echo $abcd['kkk']; // 안녕
이런식으로 배열로 담아서 return해주고 받아와서 쓰면될것같네요
원하시는게 포인터같은 변수를 원하시는거라면
function abcd($nick) {
$nick2 = $nick."님";
$kkk = "안녕";
return $nick2;
}
//이 내용을
//다음과같이 변경해보세요
function abcd($nick, &$kkk='') {
$nick2 = $nick."님";
$kkk = "안녕";
return $nick2;
}
echo $kkk;
// 해보시면 원하시는 내용이 아닐까 싶네요
한 페이지에 있다면 global $변수; 로 땡겨올수 있습니다.
단 지역변수가 먼저 선언되어야 합니다.
$kkk는 지역변수입니다. 저 상황에서 지역변수를 전역공간에서 쓰는건 불가능합니다. $kkk를 전역벽수로 넣고 함수내에서 global로 불러오거나, 특정방법으로 전역에서 할당해놓거나 하지 않는 이상 불가능해요.
근데 위에 사용자정의 함수에 들어있는 $kkk 값을 함수 밖에서 쓸수 없는지 해서요~
==> 반대로 생각하셔야 합니다. 밖에 있는 변수를 함수 안에서 쓴다"라고요.
function abcd( $nick) {
global $kkk;
...
추천하는 방식은 아닙니다.
답변에 대한 댓글 3개
답변을 작성하려면 로그인이 필요합니다.
배열에 넣는 방식이 가장 좋을것 같습니다.~
다른분들도 답변 많은 도움이 되었습니다.~