Develop!/php

php의 람다식, 가변 함수

체리필터 2015. 8. 20. 18:08
728x90
반응형

오랜만에 php 코드를 들여다 볼 일이 생겼는데, 알지 못할만한 소스코드들이 있어 헤메다가 정리 차원에서 적어둔다.

 

1. php의 람다식.

 

http://php.net/manual/kr/function.array-walk.php

array_walk($data, function(&$value, $key, $joinUsing) { 

	$value = $key . $joinUsing . $value; 

}, $glue);

 

array_walk의 2번째 인자값을 function 변수로 넘길 수도 있지만 위에처럼 람다식으로 그냥 적어버릴 수 있다.

안드로이드에서 Callback 함수로 람다식으로 적는 경우가 많은데, 그런식으로 작성하나 보다. 오랜만에 php 하니 새롭다 ^^;;

 

2. 가변함수

 

이런말 첨 들어보는데, 위의 array_walk가 만일 유저 정의 함수라면 함수 내에서 두번째 인자값을 받아다가 사용할 수 있다.

두번째 인자를 $func 이란 변수로 받는다면 함수 자체는 $func() 과 같이 사용할 수 있다.

이와 관련한 것도 php.net에서 간단한 예제를 볼 수 있다.

 

http://php.net/manual/kr/functions.variable-functions.php

function foo() {
    echo "foo() 안입니다.<br />\n";
}

$func = 'foo';
$func();        // foo()를 호출합니다.

 

728x90
반응형