TIP게시판

제목 함수 전달 인자를 유연하게 처리 할 수 함수 예제
글쓴이 한대승(불의회상) 작성시각 2014/08/13 14:25:59
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 10666   RSS
한대승(불의회상)
이미 알고 계시는 분들도 계시겠지만...
 
$sum = function() {
	if(func_num_args() > 0) {
		$numbers = func_get_args();
	    $acc = 0;
	    foreach ($numbers as $n) {
	        $acc += $n;
	    }
	    return $acc;
	} else {
		return NULL;
	}
};

echo $sum(1, 2, 3, 4); // 결과값 : 10

일반 함수에서도 사용 가능 합니다.
 다음글 php로 currying 구현 하기 (3)
 이전글 LiveReload 좋아요 (4)

댓글

darkninja / 2014/08/13 17:24:23 / 추천 0
함수 인자로 함수이름을 넘겨주고
특정한 상황에 맞는 처리를 한다면
코드가 많이 단순해질수 있겠습니다!

그래도 최선의 방법은 아예 그런 복잡한 상황을 만들지 않고
단순하게 처리하는 방법을 찾는 것이겠죠...
변종원(웅파) / 2014/08/13 18:15:15 / 추천 0
func_get_args(); 한동안 많이 썼었는데 언제부터인가 안썼는데
왜그랬는지 모르겠네요. ㅋ
kaido / 2014/08/13 21:32:32 / 추천 0
func_get_args(); 를 응용해볼려고 넣고 만든게 있었는데... 
딴 사람이 유지보수 할거 생각 하면 쫌 애매할것 같다는 생각이 들더군요.
그리고 함수가 상당히 최신 버젼이라서 구형 서버와의 호환도 약간 걱정.