함수에 인자 넘겨주기
PHP에서 함수에 인자를 넘겨주는 세가지 방법이 있습니다.
기본적으로 값에 의한 전달, 참조에 의한 전달, 기본 인자값. 이 세가지입니다.
1) 값에 의한 전달 (passing by value)
$args=1;
test_function($args);
test_function(1);
위와 같이 변수를 통해 값을 전달하거나 직접적으로 값을 전달하는 방법이 "값에 의한 전달"입니다.
이 방법을 통해 배열도 전달이 가능합니다.
참고 (중급).
배열을 인자를 통해 전달하는 것은 엄연히 따지면 값에 의한 전달이 아닙니다.
그러나 PHP에는 포인터 개념이 없으므로 그저 값에 의한 전달에 보셔도 상관없습니다.
2) 참조에 의한 전달 (passing by reference)
<?php
function add_str (&$string)
{
$string .= 'PHP 따라잡기';
}
$str = '다우니와 함께하는 ';
add_str ($str);
echo $str;
?>
참조를 통해 전달받은 변수는 수정하면 원래 변수까지 영향을 미치게 됩니다.
그래서 $str 변수를 출력했음에도 $string 변수가 출력되어 집니다.
실제로 $str 과 $string 은 이름만 다를뿐 같은 변수입니다.
3) 기본 인자값
<?php
function ezphp_net ($url = "http://ezphp.net")
{
return "홈페이지 주소 : $url<BR>";
}
echo ezphp_net ();
echo ezphp_net ("http://www.ezphp.net");
?>
함수 인자에 기본값을 설정해 놓은 것입니다.
값이 전달되지 않았을 때 기본값을 그 값으로 이용하는 것이죠.
결과는 다음과 같습니다.
홈페이지 주소 : http://ezphp.net
홈페이지 주소 : http://www.ezphp.net
이 기본 인자값을 설정할 때 유의해야 할 점이 있습니다.
인자가 여러개일 때 기본인자값을 설정할 인자를 제일 마지막에 두어야 한다는 것입니다.
만약 처음 인자에 기본값을 지정한다면 역시~ 에러를 맛보게 될 것입니다. ㅋㅋㅋ
출처 : 인자넘겨주기
'progarm_old > [PHP]' 카테고리의 다른 글
php 보안 30가지 (0) | 2012.06.08 |
---|---|
문자열 제어하기 (0) | 2012.06.08 |
session 값 (0) | 2012.06.08 |
htmlspecialchars (0) | 2012.06.07 |
[php] 문자열 함수 (0) | 2012.05.23 |