유용한 함수 call_user_func
(PHP 4, PHP 5)
call_user_func — Call a user function given by the first parameter
첫번째 인자로 주어진 문자열과 같은 이름의 함수를 실행시키고 그 함수의 실행결과의 리턴값을 반환
Description
mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )
Call a user defined function given by the function parameter.
위의 설명만으로는 이해를 하기 힘든 면이 있습니다.
call_user_func 함수는 쉽게 애기하면
특정 조건에 따라 유동적으로 다른 함수를 적용 하고자 할때 많이 쓰입니다.
즉, 갯수가 몇개 안되거나 어떤 쓰임이 완전이 정해진 경우에는
function function1(){
.......
}
function function2(){
.......
}
function function3(){
.......
}
switch($type){
case 1 :
$result = function1();
break;
case 2 :
$result = function2();
break;
case 3 :
$result = function3();
break;
default :
die('type error : ' . $type);
}
와 같이 switch 를 사용하여 함수를 호출해주면 됩니다.
그러나 경우의 수가 많거나. 특정 규칙이 존재한다면
위의 switch 구문은 아래와 같이 쓸수 있습니다.
$function_name = 'function' . $type;
$result = call_user_func($function_name) or die('type error : ' . $type);
또는
$result = call_user_func('function' . $type) or die('type error : ' . $type);
call_user_func 의 두번째 인자부터는
생략할수도 있고 무한대로 설정가능합니다.
단, 실행하고자 하는 함수의 인자의 갯수와 일치합니다.
위의 예제에서는 호출하고자 하는 함수가 인자 없는 함수라서 call_user_func(함수명) 과 같이 쓰였습니다.
아래의 예제에선 여러개의 인자를 넣는 경우의 예제입니다.
function add_1($v) {
return $v++;
}
$result = call_user_func('add_1', 1);
echo $result . "\n";
function sum_2($v1, $v2) {
return ($v1 + $v2);
}
$result = call_user_func('sum_2', 1, 5);
echo $result . "\n";
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 130 | 20년 전 | 4004 | ||
| 129 | 20년 전 | 2942 | ||
| 128 | 20년 전 | 3675 | ||
| 127 | 20년 전 | 3513 | ||
| 126 | 20년 전 | 3765 | ||
| 125 | 20년 전 | 8594 | ||
| 124 | 20년 전 | 2602 | ||
| 123 | 20년 전 | 3750 | ||
| 122 | 20년 전 | 3209 | ||
| 121 | 20년 전 | 2611 | ||
| 120 | 20년 전 | 2673 | ||
| 119 | 20년 전 | 2587 | ||
| 118 | 20년 전 | 2861 | ||
| 117 |
|
20년 전 | 3062 | |
| 116 | 20년 전 | 5314 | ||
| 115 | 20년 전 | 3924 | ||
| 114 | 20년 전 | 4973 | ||
| 113 | 20년 전 | 6212 | ||
| 112 | 20년 전 | 7325 | ||
| 111 | 20년 전 | 18431 | ||
| 110 | 20년 전 | 6875 | ||
| 109 | 20년 전 | 2885 | ||
| 108 | 20년 전 | 4141 | ||
| 107 |
prosper
|
20년 전 | 2501 | |
| 106 |
prosper
|
20년 전 | 4319 | |
| 105 |
아우겐나이스
|
20년 전 | 2913 | |
| 104 | 20년 전 | 2260 | ||
| 103 | 20년 전 | 2478 | ||
| 102 | 20년 전 | 2261 | ||
| 101 | 20년 전 | 2576 | ||
| 100 | 20년 전 | 1750 | ||
| 99 | 20년 전 | 1572 | ||
| 98 | 20년 전 | 1618 | ||
| 97 | 20년 전 | 2131 | ||
| 96 | 20년 전 | 1880 | ||
| 95 | 20년 전 | 2378 | ||
| 94 | 20년 전 | 3567 | ||
| 93 | 20년 전 | 1566 | ||
| 92 | 20년 전 | 1757 | ||
| 91 | 20년 전 | 3183 | ||
| 90 | 20년 전 | 2343 | ||
| 89 | 20년 전 | 3172 | ||
| 88 | 20년 전 | 2872 | ||
| 87 | 20년 전 | 3299 | ||
| 86 | 20년 전 | 5136 | ||
| 85 | 20년 전 | 2523 | ||
| 84 | 20년 전 | 4825 | ||
| 83 | 20년 전 | 2507 | ||
| 82 | 20년 전 | 3124 | ||
| 81 | 20년 전 | 7631 | ||
| 80 | 20년 전 | 3825 | ||
| 79 | 20년 전 | 3211 | ||
| 78 | 20년 전 | 4697 | ||
| 77 | 20년 전 | 2903 | ||
| 76 | 20년 전 | 6222 | ||
| 75 | 20년 전 | 4471 | ||
| 74 | 20년 전 | 5783 | ||
| 73 | 20년 전 | 3627 | ||
| 72 | 20년 전 | 5971 | ||
| 71 | 21년 전 | 3119 | ||
| 70 | 21년 전 | 2845 | ||
| 69 | 21년 전 | 2642 | ||
| 68 | 21년 전 | 2448 | ||
| 67 | 21년 전 | 2658 | ||
| 66 | 21년 전 | 2673 | ||
| 65 | 21년 전 | 3791 | ||
| 64 | 21년 전 | 2828 | ||
| 63 | 21년 전 | 2457 | ||
| 62 | 21년 전 | 2266 | ||
| 61 | 21년 전 | 3079 | ||
| 60 | 21년 전 | 3134 | ||
| 59 | 21년 전 | 2520 | ||
| 58 | 21년 전 | 2593 | ||
| 57 | 21년 전 | 2968 | ||
| 56 | 21년 전 | 2325 | ||
| 55 | 21년 전 | 2763 | ||
| 54 | 21년 전 | 2129 | ||
| 53 | 21년 전 | 2355 | ||
| 52 | 21년 전 | 2701 | ||
| 51 |
prosper
|
21년 전 | 2351 | |
| 50 |
prosper
|
21년 전 | 2172 | |
| 49 | 21년 전 | 2180 | ||
| 48 | 21년 전 | 2344 | ||
| 47 | 21년 전 | 1935 | ||
| 46 | 21년 전 | 1931 | ||
| 45 | 21년 전 | 2136 | ||
| 44 | 21년 전 | 2362 | ||
| 43 | 21년 전 | 4583 | ||
| 42 |
prosper
|
21년 전 | 2716 | |
| 41 |
prosper
|
21년 전 | 2115 | |
| 40 | 21년 전 | 2181 | ||
| 39 | 21년 전 | 2151 | ||
| 38 | 21년 전 | 2421 | ||
| 37 | 21년 전 | 2570 | ||
| 36 | 21년 전 | 1777 | ||
| 35 | 21년 전 | 4073 | ||
| 34 | 21년 전 | 3851 | ||
| 33 | 21년 전 | 2990 | ||
| 32 |
prosper
|
21년 전 | 2906 | |
| 31 | 21년 전 | 5286 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기