유용한 함수 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년 전 | 4008 | ||
| 129 | 20년 전 | 2947 | ||
| 128 | 20년 전 | 3684 | ||
| 127 | 20년 전 | 3519 | ||
| 126 | 20년 전 | 3773 | ||
| 125 | 20년 전 | 8595 | ||
| 124 | 20년 전 | 2604 | ||
| 123 | 20년 전 | 3755 | ||
| 122 | 20년 전 | 3211 | ||
| 121 | 20년 전 | 2612 | ||
| 120 | 20년 전 | 2675 | ||
| 119 | 20년 전 | 2589 | ||
| 118 | 20년 전 | 2864 | ||
| 117 |
|
20년 전 | 3063 | |
| 116 | 20년 전 | 5321 | ||
| 115 | 20년 전 | 3931 | ||
| 114 | 20년 전 | 4976 | ||
| 113 | 20년 전 | 6217 | ||
| 112 | 20년 전 | 7326 | ||
| 111 | 20년 전 | 18436 | ||
| 110 | 20년 전 | 6880 | ||
| 109 | 20년 전 | 2889 | ||
| 108 | 20년 전 | 4143 | ||
| 107 |
prosper
|
20년 전 | 2502 | |
| 106 |
prosper
|
20년 전 | 4322 | |
| 105 |
아우겐나이스
|
20년 전 | 2915 | |
| 104 | 20년 전 | 2264 | ||
| 103 | 20년 전 | 2480 | ||
| 102 | 20년 전 | 2264 | ||
| 101 | 20년 전 | 2579 | ||
| 100 | 20년 전 | 1755 | ||
| 99 | 20년 전 | 1573 | ||
| 98 | 20년 전 | 1618 | ||
| 97 | 20년 전 | 2131 | ||
| 96 | 20년 전 | 1882 | ||
| 95 | 20년 전 | 2381 | ||
| 94 | 20년 전 | 3567 | ||
| 93 | 20년 전 | 1568 | ||
| 92 | 20년 전 | 1763 | ||
| 91 | 20년 전 | 3184 | ||
| 90 | 21년 전 | 2344 | ||
| 89 | 21년 전 | 3178 | ||
| 88 | 21년 전 | 2872 | ||
| 87 | 21년 전 | 3299 | ||
| 86 | 21년 전 | 5137 | ||
| 85 | 21년 전 | 2526 | ||
| 84 | 21년 전 | 4828 | ||
| 83 | 21년 전 | 2510 | ||
| 82 | 21년 전 | 3125 | ||
| 81 | 21년 전 | 7634 | ||
| 80 | 21년 전 | 3832 | ||
| 79 | 21년 전 | 3214 | ||
| 78 | 21년 전 | 4700 | ||
| 77 | 21년 전 | 2908 | ||
| 76 | 21년 전 | 6226 | ||
| 75 | 21년 전 | 4473 | ||
| 74 | 21년 전 | 5786 | ||
| 73 | 21년 전 | 3631 | ||
| 72 | 21년 전 | 5974 | ||
| 71 | 21년 전 | 3121 | ||
| 70 | 21년 전 | 2847 | ||
| 69 | 21년 전 | 2645 | ||
| 68 | 21년 전 | 2451 | ||
| 67 | 21년 전 | 2659 | ||
| 66 | 21년 전 | 2678 | ||
| 65 | 21년 전 | 3792 | ||
| 64 | 21년 전 | 2831 | ||
| 63 | 21년 전 | 2460 | ||
| 62 | 21년 전 | 2270 | ||
| 61 | 21년 전 | 3082 | ||
| 60 | 21년 전 | 3134 | ||
| 59 | 21년 전 | 2523 | ||
| 58 | 21년 전 | 2594 | ||
| 57 | 21년 전 | 2973 | ||
| 56 | 21년 전 | 2332 | ||
| 55 | 21년 전 | 2763 | ||
| 54 | 21년 전 | 2133 | ||
| 53 | 21년 전 | 2358 | ||
| 52 | 21년 전 | 2702 | ||
| 51 |
prosper
|
21년 전 | 2352 | |
| 50 |
prosper
|
21년 전 | 2174 | |
| 49 | 21년 전 | 2182 | ||
| 48 | 21년 전 | 2344 | ||
| 47 | 21년 전 | 1935 | ||
| 46 | 21년 전 | 1932 | ||
| 45 | 21년 전 | 2137 | ||
| 44 | 21년 전 | 2365 | ||
| 43 | 21년 전 | 4585 | ||
| 42 |
prosper
|
21년 전 | 2716 | |
| 41 |
prosper
|
21년 전 | 2116 | |
| 40 | 21년 전 | 2181 | ||
| 39 | 21년 전 | 2153 | ||
| 38 | 21년 전 | 2423 | ||
| 37 | 21년 전 | 2570 | ||
| 36 | 21년 전 | 1781 | ||
| 35 | 21년 전 | 4077 | ||
| 34 | 21년 전 | 3853 | ||
| 33 | 21년 전 | 2992 | ||
| 32 |
prosper
|
21년 전 | 2907 | |
| 31 | 21년 전 | 5289 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기